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, where 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 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.