Niah Docs
Reference

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.

gitignore
# 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

SurfaceRespects
Search and agent file reads .gitignore, files.exclude / search.exclude, and .niahignore / .cursorignore
Workspace indexing .niahignore / .cursorignore only
Indexing deliberately does not follow .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.

.niahignoreWhat Niah may read. Applies to indexing, search, and every tool.
.niahagentWhat agents may do. Applies to approvals, commands, and limits.

Where Niah stores data

.niahPer-user application data directory.
.niah/agent-memory.jsonPersisted 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.