Skip to content

Files outside the data folder

Most of what Ninebrains keeps is in its data folder (see Configuration). A few things have to live elsewhere, because the agent CLIs and git read them from their usual places. This page lists them, so you know what to clean up if you stop using Ninebrains.

Agent settings

FileWhat Ninebrains writesWhen
~/.claude/settings.json (or $CLAUDE_CONFIG_DIR/settings.json)Hook entries for SessionStart, UserPromptSubmit, Notification and StopThe first time a Claude Code session starts, if missing
~/.codex/config.toml (or $CODEX_HOME/config.toml)Hook entries for SessionStart, PermissionRequest and StopThe first time a Codex session starts, if missing
~/.claude.jsonFor each new worktree, hasTrustDialogAccepted and hasCompletedProjectOnboarding under projectsWhen Auto-trust worktree directories is on
Each agent’s MCP configThe servers you addOnly when you add a server in Settings → MCP

Ninebrains’ hook entries are recognised by the EMDASH_HOOK_PORT variable in their command. When it rewrites them, it replaces its own entries and keeps yours. Outside Ninebrains the hook commands exit straight away. See First run.

If you use other agents through tasks, their own trust files are updated the same way when auto-trust is on, for example ~/.cursor/projects/… or ~/.copilot/config.json.

Skills

Skills are stored in ~/.agentskills/<id>/, with install records in ~/.agentskills/.emdash/skillssh-installs.json.

Pack skills are installed there as nb-<pack>-<skill>, for every pack enabled in at least one project. Skill sync removes any nb-* skill it does not expect. Anything you name with the nb- prefix yourself will be deleted.

Worktrees and branches

WhereWhat
~/ninebrains/worktrees/<repo>-<hash>/One worktree per task and per lane
~/ninebrains/repositories/Repositories you clone from inside the app
Your repositoryBranches for tasks, lanes/<id> branches for lanes, and git’s own worktree records in .git/worktrees
Your repository.emdash.json, only when you choose to share project settings

Temporary files

WhereWhatRemoved
<tmp>/ninebrains-review/nb-review-XXXXXX/checkoutA disposable git worktree of a job’s result, for the reviewer gatesAfter each review, whatever the result
<tmp>/nb-tests-XXXXXXThe tests gate’s private temp folderAfter each run

<tmp> is your system’s temp folder. A review checkout is a real git worktree, so while it exists, git lists it in your repository’s worktrees.

OS keychain

The app keeps an encryption key named Ninebrains Safe Storage in your OS keychain. It encrypts the app’s cookie store and saved secrets. Pack secrets saved in the app use the key name ninebrains.pack.<NAME>.