Configuration
Configuration file reference
Hyprlayer stores its configuration in a JSON file.
Location
Section titled “Location”| 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.
View Configuration
Section titled “View Configuration”hyprlayer thoughts confighyprlayer thoughts config --jsonhyprlayer thoughts config --editSchema
Section titled “Schema”{ "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 }}Fields
Section titled “Fields”Core Settings
Section titled “Core Settings”| 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”) |
Storage Backend
Section titled “Storage Backend”| 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 — the agent’s Notion connector manages auth |
See Storage Backends for the full per-backend behavior.
AI Settings
Section titled “AI Settings”| 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 |
Repository Mappings
Section titled “Repository Mappings”| 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.
Profiles
Section titled “Profiles”| Field | Type | Description |
|---|---|---|
profiles | object | Named profiles with their own thoughtsRepo, reposDir, and globalDir |
Update Settings
Section titled “Update Settings”| 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 currently 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.