Skip to content

Configuration

Configuration file reference

Hyprlayer stores its configuration in a JSON file.

PlatformPath
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
}
}
FieldTypeDescription
thoughtsRepostringPath to the thoughts repository (used by the git backend; ignored by other backends)
reposDirstringSubdirectory name for project-specific thoughts
globalDirstringSubdirectory name for cross-project thoughts
userstringYour username (cannot be “global”)
FieldTypeDescription
backendstringOne of "git" (default), "obsidian", "notion", "anytype"
backendSettingsobjectBackend-specific settings (see below). Empty for git

backendSettings fields, by backend:

FieldUsed byDescription
vaultPathobsidianAbsolute path to the user’s Obsidian vault root
vaultSubpathobsidianSubfolder within the vault (default: hyprlayer)
parentPageIdnotionNotion parent page ID where the thoughts database lives
databaseIdnotionLazily set after the first /create_plan creates the database
spaceIdanytypeAnytype space ID
typeIdanytypeLazily set after the first /create_plan creates the HyprlayerThought type
apiTokenEnvanytypeEnv var name holding the Anytype API key (default: ANYTYPE_API_KEY). Not used for notion — the agent’s Notion connector manages auth

See Storage Backends for the full per-backend behavior.

FieldTypeDescription
agentToolstringAI tool: "claude", "copilot", or "opencode"
opencodeProviderstringOpenCode provider: "github-copilot", "anthropic", or "abacus"
opencodeSonnetModelstringSonnet model ID for OpenCode
opencodeOpusModelstringOpus model ID for OpenCode
FieldTypeDescription
repoMappingsobjectMaps 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.

FieldTypeDescription
profilesobjectNamed profiles with their own thoughtsRepo, reposDir, and globalDir
FieldTypeDescription
lastVersionChecknumberUnix timestamp of last hyprlayer release check
lastAgentChecknumberUnix timestamp of last agent-bundle SHA check (24-hour throttle)
agentsInstalledShastringFull SHA of the agent bundle currently installed
disableUpdateCheckbooleanSet to true to disable both the release check and the agent-bundle auto-reinstall

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