Configuration

Where settings live, how the layers merge, and what belongs in each one.

Config layers

Tachyon reads three layers, each overriding the one before. The split matters mostly for one reason: what is safe to commit.

LayerScopeCommit it?
UserYou, on this machine. Credentials and personal defaults.No — outside the repo entirely.
ProjectEveryone working in this repo. Shared rules and conventions.Yes.
Project localYou, in this repo. Personal overrides.No — gitignore it.

File locations

paths
~/.tachyon/settings.json          # user settings
~/.tachyon/CLAUDE.md              # user memory
~/.tachyon/skills/                # your skills
~/.tachyon/sessions/              # session history
~/.tachyon/plugins/               # installed plugins

.tachyon/settings.json            # project settings (commit)
.tachyon/settings.local.json      # personal overrides (gitignore)
.tachyon/skills/                  # project skills (commit)
.tachyon/mcp.json                 # project MCP servers (commit)
CLAUDE.md                         # project memory (commit)
CLAUDE.local.md                   # personal project memory (gitignore)

Settings

Permission rules are the highest-value thing to configure, since they apply regardless of which mode a teammate happens to be in:

.tachyon/settings.json
{
  "permissions": {
    "allow": ["bash(npm test)", "bash(npm run lint)"],
    "deny": ["bash(terraform *)", "bash(kubectl *)"]
  }
}

A committed project settings file also matters for headless runs, which cannot prompt. Whatever the repo declares is what an unattended agent is allowed to do.

Project memory

CLAUDE.md at the repository root is loaded into the system prompt on every turn. It is the right place for conventions the agent cannot infer from the code — commit-message format, which package manager to use, directories to leave alone.

Generate a starting point by scanning the repo:

bash
tachyon init

AGENTS.md is read as well, so a repo already set up for other agent tooling works without duplication. Keep it short — it is prepended to every request, and a long memory file is a tax on every turn.

MCP servers

Model Context Protocol servers add tools to the agent. Manage them from the CLI, or commit .tachyon/mcp.json so a whole team picks up the same set:

bash
tachyon mcp list
tachyon mcp add
tachyon mcp remove <name>

On first run Tachyon auto-imports existing Claude Code and OpenCode MCP configuration, so migrating from either takes no manual re-entry.