Configuration
Niah keeps your editor preferences where you expect them and adds two project files: one that scopes what it reads, and one that scopes what agents may do.
Niah Settings
Open Preferences: Open Niah Settings from the Command
Palette for everything Niah-specific — your account, model providers,
endpoints, agent behaviour, and Plan & Usage. Ordinary editor settings
stay in the standard Settings UI and settings.json.
Scoping indexing with .niahignore
.niahignore keeps files out of Niah's index and out of agent
search. Use it for material that is in the repo but should not be read by a
model — vendored code, fixtures, generated output, anything sensitive.
The syntax is the same as .gitignore, and the file lives in your
workspace root. Niah Settings has a Create / edit .niahignore
button that creates one with sensible defaults if the workspace has none.
# Generated output
dist/
build/
*.min.js
# Vendored dependencies
vendor/
third_party/
# Fixtures and snapshots
test/fixtures/**
**/__snapshots__/**
Existing .cursorignore files are honoured too, so a repo that
already has one does not need a second file.
How the ignore layers combine
| Surface | Respects |
|---|---|
| Search and agent file reads | .gitignore, files.exclude / search.exclude, and .niahignore / .cursorignore |
| Workspace indexing | .niahignore / .cursorignore only |
.gitignore — plenty of
useful, uncommitted context lives in ignored paths. If something must never
be indexed, put it in .niahignore; being in
.gitignore is not enough.
A file excluded this way is refused if a tool tries to read it directly, so the boundary holds even when an agent asks for the path by name.
Project agent policy
A .niahagent file in the workspace root controls what agents may
do in that project — per-tool approval tiers, a terminal command whitelist or
blacklist, concurrency and nesting limits, and context globs. It is covered
in full on the Agents page.
.niahignore | What Niah may read. Applies to indexing, search, and every tool. |
|---|---|
.niahagent | What agents may do. Applies to approvals, commands, and limits. |
Where Niah stores data
.niah | Per-user application data directory. |
|---|---|
.niah/agent-memory.json | Persisted agent working memory, when memory.persistSession is enabled for the project. |
Your session credentials are held in the operating system's secret store — Keychain on macOS, Credential Manager on Windows, the Secret Service on Linux — not in a file in your home directory.
Extensions and settings you already have
Niah is a full editor, so your usual extensions, themes, and
settings.json work as they do elsewhere. Keybindings for Niah's
own commands are remappable like any other — see
Chat & editing.