Configuration

Customize Tenax behavior using settings. View or modify settings with /tenax:settings.

All Settings

Enforced Settings

These settings are actively used by the plugin code:

Setting Type Default Description
tokenBudget number 80000 Maximum tokens for loading sessions. Commands like load-sessions stop loading when this would be exceeded.
maxSessionsStored number 100 Maximum number of sessions to retain. Oldest sessions are automatically pruned when exceeded.
sessionIdPadding number 3 Number of digits for session IDs (e.g., 3 = "001", "002"). Use 4 for team projects.
embeddingModel string "Xenova/all-MiniLM-L6-v2" Local embedding model for semantic search. Downloaded on first use (~23MB).

Behavioral Guidance

These settings are read by Claude but not programmatically enforced. They serve as configuration hints that Claude follows:

Setting Type Default Description
autoLoad string "summary" Guidance for what Claude loads at session start. Options: none, summary, recent-3, recent-5, prompt
autoCheckBeforeDecisions boolean true Hints that Claude should search history before proposing architecture changes.
autoRecordDecisions boolean true Hints that Claude should record decisions when confirmed during conversation.
showCostEstimates boolean false Reserved for future use. Intended to show API cost estimates alongside token counts.

autoLoad Options

Value Behavior
none Don't load any history automatically. Use commands to load on demand.
summary Load quick summary (~500 tokens) showing stats and recent decisions.
recent-3 Load the 3 most recent sessions automatically.
recent-5 Load the 5 most recent sessions automatically.
prompt Ask at session start what to load.

Example Configurations

Minimal (Low Token Usage)

For projects where you want to minimize context overhead:

config.json
{
  "tokenBudget": 40000,
  "autoLoad": "none",
  "autoCheckBeforeDecisions": false,
  "showCostEstimates": true
}

Power User (Full Context)

For projects where you want maximum context awareness:

config.json
{
  "tokenBudget": 120000,
  "autoLoad": "recent-5",
  "autoCheckBeforeDecisions": true,
  "autoRecordDecisions": true,
  "maxSessionsStored": 200
}

Team Sharing

For projects where memory is shared via version control:

config.json
{
  "tokenBudget": 80000,
  "autoLoad": "summary",
  "autoCheckBeforeDecisions": true,
  "maxSessionsStored": 50,
  "sessionIdPadding": 4
}

Tip: Add .claude/tenax/ to your repo, but consider gitignoring sessions/ to keep repo size manageable.

Config File Location

Settings are stored in your project at:

.claude/tenax/config.json

You can edit this file directly, or use the /tenax:settings command to view and modify settings interactively.

Modifying Settings via Command

Examples
# View all settings
/tenax:settings

# Change token budget
/tenax:settings tokenBudget 100000

# Change auto-load behavior
/tenax:settings autoLoad recent-3

# Disable proactive checking
/tenax:settings autoCheckBeforeDecisions false

Claude Code Permissions

For a smoother experience, add these wildcard permissions to your Claude Code settings. This avoids repeated permission prompts when Tenax runs its scripts.

Recommended Wildcards

Add to your Claude Code settings.json or via /permissions:

settings.json (Claude Code)
{
  "permissions": {
    "allow": [
      "Bash(npx tsx:*)",
      "Bash(bun:*)",
      "Bash(npm install:*)"
    ]
  }
}

What Each Permission Does

Permission Purpose
Bash(npx tsx:*) Allows Tenax scripts (TypeScript) to run without prompting each time.
Bash(bun:*) Alternative runtime. Tenax supports both npx tsx and bun.
Bash(npm install:*) Allows automatic dependency installation on first run.

Note: Wildcard permissions use * to match any arguments. Claude Code v2.1.0+ supports this syntax.