Configuration

sharur uses layered JSON configuration. Project-level settings override global defaults.

PathScope
~/.sharur/config.jsonGlobal defaults — applies to all projects
.sharur/config.jsonProject-level overrides — applies in this directory

config.json Schema

{
  "defaultModel": "llama3.2",
  "defaultProvider": "ollama",
  "theme": "dark",
  "thinkingLevel": "medium",
  "ollamaBaseURL": "http://localhost:11434",
  "openAIBaseURL": "https://api.openai.com/v1",
  "openAIApiKey": "",
  "anthropicApiKey": "",
  "anthropicApiVersion": "",
  "googleApiKey": "",
  "llamaCppBaseURL": "http://localhost:8080",
  "compaction": {
    "enabled": true,
    "reserveTokens": 2048,
    "keepRecentTokens": 8192
  }
}

API keys can also be set via environment variables — env vars take priority over config file values.


Context Files

sharur auto-discovers AGENTS.md, CLAUDE.md, GEMINI.md, and .context.md in your project root and parent directories and injects them into the system prompt. Outermost files take precedence (parent directory wins over project root).

Disable with --no-context-files.


CLI Flags

Mode

FlagDescription
--modeMode: tui (default), json, grpc
--grpc-addrgRPC listen address (default :50051; --mode grpc only)

Model / Provider

FlagDescription
--model / -mModel to use (e.g. llama3, gpt-4o, anthropic/claude-sonnet-4-6)
--providerProvider: ollama, openai, anthropic, llamacpp, google
--api-keyAPI key override
--thinkingThinking level: off, minimal, low, medium, high, xhigh
--modelsComma-separated model list for Ctrl+P cycling

Session

FlagDescription
--continue / -cResume the most recent session
--resume / -rSelect a session to resume (fuzzy search or ID)
--sessionUse a specific session file path
--session-dirDirectory for session storage and lookup
--branchBranch from a session file or partial UUID into a new child session
--no-sessionEphemeral mode: don’t save the session

System Prompt

FlagDescription
--system-promptOverride the system prompt
--append-system-promptAppend text or file to the system prompt (repeatable)

Tools

FlagDescription
--toolsComma-separated list of tools to enable: read,bash,edit,write,grep,find,ls
--no-toolsDisable all built-in tools
--dry-runSafety mode: destructive tools preview actions instead of running

Extensions / Skills / Prompts

FlagDescription
--extension / -eLoad a gRPC extension binary (repeatable)
--no-extensionsDisable extension directory auto-discovery (-e paths still load)
--skillLoad a skill file or directory (repeatable)
--no-skillsDisable skill auto-discovery
--prompt-templateLoad a prompt template file or directory (repeatable)
--no-prompt-templatesDisable prompt template auto-discovery

Output / Info

FlagDescription
--exportExport current session to an HTML file and exit
--list-modelsList available models from the configured provider (optional fuzzy filter)
--version / -vShow version number
--verboseForce verbose startup output
--offlineDisable startup network operations (model checks, etc.)