Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Delegate coding tasks to Qoder CLI using Print mode (non-interactive). Use when: (1) building/creating new features or apps, (2) code reviews, (3) refactorin...
Delegate coding tasks to Qoder CLI using Print mode (non-interactive). Use when: (1) building/creating new features or apps, (2) code reviews, (3) refactorin...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use Print mode (-p) for all Qoder CLI work in OpenClaw. TUI mode is not supported in automated environments. ✅ All-Sessions Ready: This skill works in: Direct 1:1 chats Group chats (DingTalk, Discord, Slack, etc.) Shared workspace sessions Private sessions
TUI mode is NOT supported in OpenClaw or other automated environments due to TTY requirements. Always use Print mode with the -p flag: # ✅ Correct - Print mode (non-interactive) bash workdir:~/project command:"qodercli -p 'Add error handling'" # ❌ Wrong - TUI mode requires interactive terminal bash pty:true command:"qodercli" # Will fail
Qoder CLI authentication is automatically available via: # Environment variable (set in ~/.zshrc) QODER_PERSONAL_ACCESS_TOKEN="your_token_here" # Or check if already authenticated qodercli status In any session type, the environment variable is inherited from the shell, so Qoder CLI works seamlessly.
# Quick one-shot task bash workdir:~/project command:"qodercli -p 'Add error handling to the API calls'" # With ultimate model for best quality bash workdir:~/project command:"qodercli --model=ultimate -p 'Refactor this module'" # With JSON output bash workdir:~/project command:"qodercli --output-format=json -p 'Analyze this code'" # Continue last session bash workdir:~/project command:"qodercli -c -p 'Continue the refactoring'" # Max turns limit bash workdir:~/project command:"qodercli --max-turns=10 -p 'Fix the bug'" # Yolo mode (skip permissions) bash workdir:~/project command:"qodercli --yolo -p 'Make the changes'"
FlagDescriptionExample-pRequired - Run non-interactivelyqodercli -p "task"-qQuiet mode (hide spinner)qodercli -q -p "task"--output-formatOutput format: text, json, stream-jsonqodercli --output-format=json-wSpecify workspace directoryqodercli -w /path/to/project-cContinue last sessionqodercli -c -p "continue"-rResume specific sessionqodercli -r <session-id>--modelModel tier selectionqodercli --model=ultimate--max-turnsMaximum dialog turns (0 = unlimited)qodercli --max-turns=10--max-output-tokensMax tokens: 16k, 32kqodercli --max-output-tokens=32k--yoloSkip permission checksqodercli --yolo--allowed-toolsAllow only specified toolsqodercli --allowed-tools=READ,WRITE--disallowed-toolsDisallow specified toolsqodercli --disallowed-tools=Bash--agentsJSON object defining custom agentsqodercli --agents='{"reviewer":{...}}'--attachmentAttach image files (repeatable)qodercli --attachment=img.png
Qoder CLI uses automatic model routing - it selects the globally optimal model based on task characteristics. You can override this: Model ValueUse CaseSpeedQualityCostautoDefault - automatic routing⚡⚡⚡⭐⭐⭐💰💰💰efficientQuick tasks, simple queries⚡⚡⚡⚡⭐⭐💰💰liteVery simple tasks⚡⚡⚡⚡⚡⭐💰performanceComplex tasks needing depth⚡⚡⭐⭐⭐⭐💰💰💰💰ultimateBest quality - refactoring, architecture, code review⚡⭐⭐⭐⭐⭐💰💰💰💰💰qmodelQwen model family⚡⚡⚡⭐⭐⭐⭐💰💰💰q35modelQwen 3.5 specific⚡⚡⚡⭐⭐⭐⭐💰💰💰mmodelMiniMax model⚡⚡⚡⭐⭐⭐⭐💰💰💰gmodelGPT model family⚡⚡⭐⭐⭐⭐⭐💰💰💰💰 Recommendations: Default: Use --model=auto (let Qoder choose) Refactoring/Architecture: --model=ultimate Quick fixes: --model=efficient Code review: --model=performance or ultimate Simple queries: --model=lite or efficient
Quest Mode allows you to write specifications while AI automatically completes development tasks using subagents. # Quest mode via prompt bash workdir:~/project command:"qodercli --model=ultimate -p 'Build a REST API with authentication, rate limiting, and logging'" Quest Mode automatically: Analyzes requirements Routes to appropriate subagents Coordinates multi-step development Ensures consistency across files
Subagents are specialized AI agents for specific tasks with their own context windows and tool permissions.
Create markdown files in: ~/.qoder/agents/<agentName>.md - User-level (all projects) ${project}/agents/<agentName>.md - Project-level Example: code-review agent --- name: code-review description: Code review expert for quality and security checks tools: Read, Grep, Glob, Bash --- You are a senior code reviewer responsible for ensuring code quality. Checklist: 1. Readability and code style 2. Naming conventions 3. Error handling 4. Security checks 5. Test coverage 6. Performance considerations
# Explicit invocation bash workdir:~/project command:"qodercli -p 'Use code-review subagent to check code issues'" # Implicit invocation bash workdir:~/project command:"qodercli -p 'Analyze this code for potential performance issues'" # Chained subagents bash workdir:~/project command:"qodercli -p 'First use design subagent for system design, then use code-review subagent'" # Custom agents inline bash workdir:~/project command:"qodercli --agents='{\"reviewer\":{\"description\":\"Reviews code\",\"prompt\":\"You are a code reviewer\"}}' -p 'Review this'"
Worktree jobs are concurrent jobs that use Git worktrees to run tasks in parallel, avoiding read/write conflicts. Requirements: Git installed and usable locally.
CommandDescriptionqodercli --worktree "job description"Create and start new worktree jobqodercli jobs --worktreeList existing worktree jobsqodercli rm <jobId>Remove a job (delete worktree)
# Basic worktree job (non-interactive) bash workdir:~/project command:"qodercli --worktree -p 'Fix issue #78'" # With branch specification bash workdir:~/project command:"qodercli --worktree --branch=main -p 'Implement feature'" # With max turns bash workdir:~/project command:"qodercli --worktree --max-turns=20 -p 'Complex refactoring'"
bash workdir:~/project command:"qodercli jobs --worktree"
bash workdir:~/project command:"qodercli rm <jobId>" ⚠️ Warning: Deletion is irreversible. Proceed with caution.
# Multiple worktrees for parallel work bash workdir:~/project background:true command:"qodercli --worktree -p 'Fix issue #78'" bash workdir:~/project background:true command:"qodercli --worktree -p 'Fix issue #99'" # Monitor progress process action:list process action:log sessionId:XXX
Qoder CLI integrates with any standard MCP (Model Context Protocol) tool.
# Basic syntax bash command:"qodercli mcp add <name> -- <command>" # Example: Playwright for browser control bash command:"qodercli mcp add playwright -- npx -y @playwright/mcp@latest"
# Context7 - Upstash context management bash command:"qodercli mcp add context7 -- npx -y @upstash/context7-mcp@latest" # DeepWiki - Wikipedia/knowledge access bash command:"qodercli mcp add deepwiki -- npx -y mcp-deepwiki@latest" # Chrome DevTools - Browser automation bash command:"qodercli mcp add chrome-devtools -- npx chrome-devtools-mcp@latest"
# List servers bash command:"qodercli mcp list" # Remove server bash command:"qodercli mcp remove playwright"
Qoder CLI enforces precise tool execution permissions.
${project}/.qoder/settings.local.json - Project-level, highest (gitignore) ${project}/.qoder/settings.json - Project-level ~/.qoder/settings.json - User-level
StrategyDescriptionallowAutomatically allow matching operationsdenyAutomatically deny matching operationsaskPrompt for permission (default for outside project)
{ "permissions": { "ask": [ "Read(!/Users/demo/projects/myproject/**)", "Edit(!/Users/demo/projects/myproject/**)" ], "allow": [ "Read(/Users/demo/projects/myproject/**)", "Edit(/Users/demo/projects/myproject/**)" ], "deny": [ "Bash(rm -rf /**)" ] } }
1. Read & Edit Rules Patterns follow gitignore-style matching: Pattern FormDescriptionExampleMatches/pathAbsolute from system rootRead(/Users/demo/**)/Users/demo/xx~/pathFrom home directoryRead(~/Documents/*.png)/Users/demo/Documents/xx.pngpath or ./pathRelative to current dirRead(/*.java)./xx.java!**Negation patternRead(!**/node_modules/**)Excludes node_modules 2. WebFetch Rules Restrict domains for network fetch: { "permissions": { "allow": [ "WebFetch(domain:example.com)", "WebFetch(domain:*.github.io)" ] } } 3. Bash Rules Restrict commands for shell execution: { "permissions": { "allow": [ "Bash(npm run build)", "Bash(npm run test:*)", "Bash(curl http://site.com/:*)" ], "deny": [ "Bash(rm -rf *)", "Bash(sudo *)" ] } }
Qoder CLI uses AGENTS.md as memory - content is auto-loaded as context.
User-level: ~/.qoder/AGENTS.md - Applies to all projects Project-level: ${project}/AGENTS.md - Applies to current project
Development standards and notes Overall system architecture Project-specific conventions API documentation Testing requirements
OptionDescriptionExample-wSpecify workspace directoryqodercli -w /path/to/project-cContinue last sessionqodercli -c -p "continue"-rResume specific sessionqodercli -r <session-id>--allowed-toolsAllow only specified toolsqodercli --allowed-tools=READ,WRITE--disallowed-toolsDisallow specified toolsqodercli --disallowed-tools=Bash--max-turnsMaximum dialog turnsqodercli --max-turns=10--yoloSkip permission checksqodercli --yolo--worktreeCreate worktree jobqodercli --worktree "task"--branchSet branch for worktreeqodercli --worktree --branch=main--agentsDefine custom agents inlineqodercli --agents='{...}'--attachmentAttach image filesqodercli --attachment=img.png
Print mode only - TUI mode not supported in OpenClaw Always use -p flag - Non-interactive mode required Respect workdir - Qoder sees only the specified directory's context Monitor with process:log - check background session progress Use worktrees for parallel work - avoid read/write conflicts Initialize AGENTS.md - helps Qoder understand project context Configure permissions - set appropriate access rules per project Leverage subagents - specialized agents for specific tasks Add MCP servers - extend capabilities with external tools Works in all sessions - environment variables are inherited automatically Use ultimate model for complex tasks - refactoring, architecture, code review
When you spawn Qoder CLI in the background, keep the user in the loop: Send 1 short message when you start (what's running + where) Then only update again when something changes: a milestone completes (build finished, tests passed) the CLI asks a question / needs input you hit an error or need user action the CLI finishes (include what changed + where) If you kill a session, immediately say you killed it and why This prevents the user from seeing only "Agent failed before reply" and having no idea what happened.
For long-running background tasks, append a wake trigger: bash workdir:~/project background:true command:"qodercli --model=ultimate 'Build a REST API for todos. When completely finished, run: openclaw system event --text \"Done: Built todos REST API with CRUD endpoints\" --mode now'" This triggers an immediate wake event — you get pinged in seconds, not minutes.
# Just use normal commands - environment is inherited bash workdir:~/project command:"qodercli -p 'Help me fix this bug'" # No special setup needed!
Same as group chats - works out of the box.
# Specify the workspace explicitly bash workdir:/shared/project command:"qodercli --model=ultimate -p 'Refactor this'"
Qoder CLI only accesses the specified workdir Environment variables are inherited from the host shell No credentials are exposed in chat messages Each session has isolated Qoder CLI state
FeatureQoder CLICodexClaude CodePrint Mode✅✅❌Subagents✅❌❌Worktrees✅❌❌MCP Servers✅✅✅Memory (AGENTS.md)✅✅✅Model Selection✅ (auto-routing)❌❌Quest Mode✅❌❌Permission System✅ (granular)⚠️⚠️All-Sessions Ready✅⚠️⚠️ Qoder CLI strengths: Subagents for specialized tasks Worktrees for parallel development Quest mode for spec-driven development Automatic model routing Granular permission system Cross-session compatibility
# Quick task (print mode, auto model) qodercli -p "Your prompt" # High-quality task (ultimate model) qodercli --model=ultimate -p "Your prompt" # Quest mode (spec-driven) qodercli -p "Build a REST API with auth" # Background task (worktree) qodercli --worktree -p "Your task" # Check status qodercli status # Skip permissions (use with caution) qodercli --yolo -p "Your prompt" # Continue last session qodercli -c -p "Continue" # JSON output qodercli --output-format=json -p "Analyze" # With custom subagents qodercli --agents='{"reviewer":{...}}' -p "Review this"
# Check status qodercli status # Set environment variable export QODER_PERSONAL_ACCESS_TOKEN="your_token"
# Use yolo mode (caution) qodercli --yolo -p "task" # Or configure permissions in ~/.qoder/settings.json
# Explicitly specify model qodercli --model=ultimate -p "task" # Or use auto for automatic routing qodercli --model=auto -p "task"
TUI mode is NOT supported in OpenClaw. Always use Print mode: # ✅ Correct qodercli -p "Your task" # ❌ Wrong (will fail) qodercli # TUI requires interactive terminal
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.