Common issues and how to fix them.
Cause: Working directory isn't server/ or paths aren't absolute.
Fix:
- Run from
server/directory - Use
--workspaceflag orMCP_WORKSPACEenvironment variable to set your workspace - Run with
--debug-startupto see detection strategies:node dist/index.js --transport=stdio --debug-startup
Recommended: Use the new path configuration system instead of deprecated env vars:
# Via CLI flags
npx claude-prompts --workspace=/path/to/workspace
# Via environment variables
MCP_WORKSPACE=/path/to/workspace npx claude-promptsCause: Invalid JSON in config.json blocks startup.
Fix:
node -e "JSON.parse(require('fs').readFileSync('config.json'))"Note
For all CLI flags and environment variables, see the CLI Configuration section in the MCP Tools reference.
Cause: STDIO conflict, wrong paths, or JSON syntax error in client config.
Fix:
- Run server manually to verify startup:
node dist/index.js --transport=stdio --verbose
- Check Claude Desktop logs:
- macOS:
~/Library/Logs/Claude/ - Windows:
%APPDATA%\Claude\logs
- macOS:
- Ensure absolute paths in
claude_desktop_config.json
Cause: Server didn't register tools or client cache is stale.
Fix:
- Check
system_control(action: "status")to verify server is running - Restart Claude Desktop to refresh MCP connections
- Verify
prompts.registerWithMcp: trueinconfig.json
Note
For per-client setup instructions, see the Client Integration Guide or the Quick Start in the README.
Cause: Prompt not listed in registry or file path mismatch.
Fix:
- Check registry:
resource_manager(resource_type: "prompt", action: "list") - Verify path in
prompts/promptsConfig.json - Manual reload:
resource_manager(resource_type: "prompt", action: "reload")
Cause: File watcher issue or file not in watched paths.
Fix:
- Confirm file is listed in
prompts/promptsConfig.json - Trigger manual reload:
resource_manager(resource_type: "prompt", action: "reload") - Check
server/logs/for watcher errors - Use supervisor mode if STDIO sessions must persist during reload
Note
For prompt creation and file structure, see the Build Your First Prompt tutorial. For the full schema, see Prompt YAML Schema.
Cause: runtime-state/state.db permissions or corruption.
Fix:
- Check write permissions on
runtime-state/directory - Delete
state.dband restart (sessions will reset) - In CI, use HTTP transport (
--transport=streamable-http) to avoid STDIO restrictions
Note
For chain concepts and session management, see Chains Lifecycle. For chain step configuration, see Chain Schema Reference.
Cause: Gate failed and waiting for verdict, or session corrupted.
Fix:
- Check if gate review is pending—send
gate_verdict(preferred format:GATE_REVIEW: PASS/FAIL - reason) orgate_actionwhen retries are exhausted - Bundle responses for efficiency: include both
user_responseandgate_verdictin one call - Force restart:
prompt_engine(command: ">>prompt", force_restart: true) - Inspect session:
system_control(action: "status")
Expected behavior when you haven't switched methodologies.
Fix (if you want a framework active):
system_control(action: "framework", operation: "switch", framework: "CAGEERF")Cause: Injection disabled in config or using %clean modifier.
Fix:
- Check
methodologies.enabled: trueinconfig.json - Remove
%cleanor%leanmodifiers from command - Use
%guidedto force injection
Note
For injection frequency tuning and modifier details, see the Injection Control Guide.
Cause: No gates specified or framework gates disabled.
Fix:
- Add gates explicitly:
gates: ["code-quality"]or:: 'criteria' - Check
gates.methodologyGates: truein config - Verify gate activation rules match your prompt category
Cause: Retry limit reached or criteria unclear.
Fix:
- Use
gate_action: "skip"to bypass and continue - Use
gate_action: "retry"to reset attempt counter - Clarify criteria in the gate definition
Note
For gate syntax, types, and best practices, see the Gates Guide. For the full gate.yaml schema, see Gate Configuration Reference.
node dist/index.js --transport=stdio --verboseOr set environment variable:
LOG_LEVEL=debug node dist/index.js --transport=stdio- Server logs:
server/logs/*.log - Claude Desktop:
~/Library/Logs/Claude/(macOS) or%APPDATA%\Claude\logs(Windows)
system_control(action: "status")Returns: framework state, transport type, prompt count, gate metrics.
When reporting bugs, include:
- Output of
system_control(action: "status") - Relevant logs from
server/logs/*.log - Prompt IDs and chain_ids involved
- Transport type (STDIO/SSE/Streamable HTTP)
- Node.js version:
node -v - Steps to reproduce
- MCP Tools Reference — Full tool parameters, operators, and workflows
- Architecture Overview — How the pipeline processes requests
- Build Your First Prompt — Getting started tutorial