Skip to content

Configuration

Configuration file reference

Hyprlayer stores its configuration in a JSON file.

Platform Path
Linux ~/.config/hyprlayer/config.json
macOS ~/Library/Application Support/hyprlayer/config.json
Windows %APPDATA%\hyprlayer\config.json

Override with --config-file <PATH> on any command.

Terminal window
hyprlayer thoughts config
Terminal window
hyprlayer thoughts config --json
Terminal window
hyprlayer thoughts config --edit
{
"thoughts": {
"thoughtsRepo": "~/thoughts",
"reposDir": "repos",
"globalDir": "global",
"user": "alice",
"backend": "git",
"backendSettings": {},
"agentTool": "claude",
"opencodeProvider": "github-copilot",
"opencodeSonnetModel": "github-copilot/claude-sonnet-4.5",
"opencodeOpusModel": "github-copilot/claude-opus-4.5",
"repoMappings": {
"/home/alice/Projects/my-project": "my-project",
"/home/alice/Projects/work-app": {
"repo": "work-app",
"profile": "work"
}
},
"profiles": {
"work": {
"thoughtsRepo": "~/work-thoughts",
"reposDir": "repos",
"globalDir": "global",
"backend": "notion",
"backendSettings": {
"parentPageId": "abc123...",
"databaseId": "def456..."
}
}
},
"lastVersionCheck": 1709913600,
"disableUpdateCheck": false,
"agentsInstalledSha": "c112b438942e18d134221225fae7bb5f233b4869",
"lastAgentCheck": 1714665600
}
}
Field Type Description
thoughtsRepo string Path to the thoughts repository (used by the git backend; ignored by other backends)
reposDir string Subdirectory name for project-specific thoughts
globalDir string Subdirectory name for cross-project thoughts
user string Your username (cannot be “global”)
Field Type Description
backend string One of "git" (default), "obsidian", "notion", "anytype"
backendSettings object Backend-specific settings (see below). Empty for git

backendSettings fields, by backend:

Field Used by Description
vaultPath obsidian Absolute path to the user’s Obsidian vault root
vaultSubpath obsidian Subfolder within the vault (default: hyprlayer)
parentPageId notion Notion parent page ID where the thoughts database lives
databaseId notion Lazily set after the first /create_plan creates the database
spaceId anytype Anytype space ID
typeId anytype Lazily set after the first /create_plan creates the HyprlayerThought type
apiTokenEnv anytype Env var name holding the Anytype API key (default: ANYTYPE_API_KEY). Not used for notion, where the agent’s Notion connector manages auth

See Storage Backends for the full per-backend behavior.

Field Type Description
agentTool string AI tool: "claude", "copilot", or "opencode"
opencodeProvider string OpenCode provider: "github-copilot", "anthropic", or "abacus"
opencodeSonnetModel string Sonnet model ID for OpenCode
opencodeOpusModel string Opus model ID for OpenCode
Field Type Description
repoMappings object Maps local repo paths to thoughts directory names

Each mapping can be a simple string (directory name) or an object with repo and optional profile fields.

Field Type Description
profiles object Named profiles with their own thoughtsRepo, reposDir, and globalDir
Field Type Description
lastVersionCheck number Unix timestamp of last hyprlayer release check
lastAgentCheck number Unix timestamp of last agent-bundle SHA check (24-hour throttle)
agentsInstalledSha string Full SHA of the agent bundle you have installed
disableUpdateCheck boolean Set to true to disable both the release check and the agent-bundle auto-reinstall

See Automatic Updates for how the agent-bundle sync works.