Skip to main content
CyberStrike is configured through a cyberstrike.json (or cyberstrike.jsonc) file. Config can be placed globally, per-project, or supplied inline — multiple sources are merged in a defined precedence order.

Config file name

CyberStrike looks for either of these files:
  • cyberstrike.json — standard JSON
  • cyberstrike.jsonc — JSON with comments and trailing commas
Both formats support {env:VAR} interpolation to inject environment variable values and {file:path} references to inline file contents.

IDE autocomplete

Add a $schema field to get validation and autocomplete in editors that support JSON Schema:
cyberstrike.json
{
  "$schema": "https://cyberstrike.io/config.json"
}

Config loading precedence

Config sources are merged from lowest to highest priority. Later sources override earlier ones for scalar values; arrays (like plugin and instructions) are concatenated and deduplicated.
1

Remote org defaults

Fetched from .well-known/cyberstrike on an authenticated remote host. Used for org-wide defaults in team or enterprise deployments.
2

Global config

~/.config/cyberstrike/cyberstrike.json (or .jsonc). Applies to all projects on your machine.
3

Custom config path

The file pointed to by the CYBERSTRIKE_CONFIG environment variable. Overrides the global config.
4

Project config

cyberstrike.json or cyberstrike.jsonc found by searching up from the current directory to the worktree root. The closest file takes precedence.
5

.cyberstrike/ directory configs

Files and subdirectories inside .cyberstrike/ folders (agents, commands, plugins, and a nested cyberstrike.json). Searched from the current directory up to the worktree root, plus ~/.cyberstrike/.
6

Inline config content

JSON supplied directly in the CYBERSTRIKE_CONFIG_CONTENT environment variable. Useful for CI pipelines or scripted runs.
7

Managed config (enterprise — highest priority)

Config placed by an administrator in the system-managed directory. Always overrides all user and project settings.
PlatformPath
macOS/Library/Application Support/cyberstrike/
Windows%ProgramData%\cyberstrike\
Linux/etc/cyberstrike/

Top-level config fields

The following fields can appear at the root of cyberstrike.json.
The default model for all sessions in the format provider/model.
{ "model": "anthropic/claude-sonnet-4-5" }
A lighter model used for background tasks like session title generation.
{ "small_model": "anthropic/claude-haiku-3-5" }
Name of the primary agent to use when none is specified. Falls back to the built-in cyberstrike agent if unset or invalid.
{ "default_agent": "cyberstrike" }
UI theme name.
{ "theme": "dark" }
Log verbosity. Accepted values: debug, info, warn, error.
{ "logLevel": "info" }
Custom display name shown in conversations instead of the system username.
{ "username": "alice" }
Controls session sharing behavior.
ValueBehavior
"manual"Sharing is available but requires explicit action
"auto"New sessions are shared automatically
"disabled"All sharing is disabled
{ "share": "manual" }
Controls automatic updates.
ValueBehavior
trueUpdates automatically
falseDisables update checks
"notify"Shows a notification without updating
{ "autoupdate": "notify" }
Enable session snapshots.
{ "snapshot": true }
Controls how CyberStrike manages context window space.
{
  "compaction": {
    "auto": true,
    "prune": true,
    "reserved": 2048
  }
}
FieldTypeDescription
autobooleanCompact automatically when context fills up (default: true)
prunebooleanRemove old tool outputs during compaction (default: true)
reservedintegerToken buffer reserved to prevent overflow during compaction
Additional instruction files or glob patterns to include as system context.
{ "instructions": ["AGENTS.md", ".cyberstrike/instructions/*.md"] }
Array of plugin specifiers (npm package names or file:// paths).
{ "plugin": ["[email protected]", "file://.cyberstrike/plugins/my-plugin.ts"] }

Full example

cyberstrike.json
{
  "$schema": "https://cyberstrike.io/config.json",

  // Model selection
  "model": "anthropic/claude-sonnet-4-5",
  "small_model": "anthropic/claude-haiku-3-5",
  "default_agent": "cyberstrike",

  // Interface
  "theme": "dark",
  "username": "alice",
  "logLevel": "warn",

  // Updates and sharing
  "autoupdate": "notify",
  "share": "manual",
  "snapshot": true,

  // Provider API keys
  "provider": {
    "anthropic": {
      "options": {
        "apiKey": "{env:ANTHROPIC_API_KEY}"
      }
    }
  },

  // Permissions
  "permission": {
    "bash": "ask",
    "edit": "ask",
    "read": "allow"
  },

  // Keybinds
  "keybinds": {
    "leader": "ctrl+x",
    "session_new": "<leader>n"
  },

  // Context compaction
  "compaction": {
    "auto": true,
    "prune": true
  },

  // Additional instructions
  "instructions": ["AGENTS.md"]
}

Providers

Configure LLM providers, API keys, and model defaults.

Permissions

Control what tools CyberStrike can use without asking.

Keybinds

Customize keyboard shortcuts for every action.

Agents

Configure and extend built-in and custom agents.

Build docs developers (and LLMs) love