Frequently Asked Questions
Frequently asked questions and answers about using MoAI-ADK.
They are two completely different things. This is the most common confusion, so let’s clear it up first.
moai (terminal CLI) | /moai (slash subcommand) | |
|---|---|---|
| Where it runs | Terminal shell | Claude Code chat input |
| What it is | Go binary | Claude Code skill invocation |
| Purpose | Project setup, template deployment | AI agent development workflows |
| Example | moai init my-project | /moai plan "auth feature" |
- Running
moai planin the terminal does nothing —/moai planis only valid inside Claude Code. - Typing
/moai initin Claude Code does nothing —moai initis a terminal command.
The MoAI statusline shows version information together with an update notification:
🗿 v3.1.2 -> 🗿 v3.1.3🗿 v3.1.2: The currently installed version-> 🗿 v3.1.3: A newer version available for update, joined by the ASCII arrow->
When you are on the latest version, only the version number is shown:
🗿 v3.1.3How to update: Run moai update and the update notification disappears.
InfoNote: This is different from Claude Code’s built-in version display (🔅 v2.1.172). The MoAI display tracks the MoAI-ADK version, while Claude Code displays its own version separately.
The statusline is toggled one segment at a time. Turn each segment on or off to keep only the information you want. There are no display presets — the configuration is just a theme and a set of segments.
Configure it in the moai init or moai update -c wizard, or edit .moai/config/sections/statusline.yaml directly:
statusline:
segments:
model: true
context: true
output_style: false
directory: false
git_status: true
claude_version: false
moai_version: false
git_branch: trueWith no segments: block, every segment is enabled by default.
InfoFor details, see SPEC-STATUSLINE-001.
MoAI-ADK assigns the optimal AI model to each agent according to your Claude Code subscription plan. It is a tokenomics mechanism that maximizes quality within your plan’s usage limits.
| Tier | Characteristics |
|---|---|
| high | Highest quality — max reasoning depth on the two rarest-invocation agents |
| medium (default) | Balance of quality and cost — the knee of the cost/score curve |
| low | Lowest cost per task — agentic agents drop to Opus low effort |
WarningWhy does this matter? Lowering the tier lowers reasoning depth, not model class. On a long-horizon agentic task, Opus atloweffort scores higher and costs less per task than Sonnet at any effort — the bill is set by how many steps a model spends finishing, not by the per-token rate. Soloweconomizes within Opus and reaches for Sonnet only on single-shot rows (manager-git,Explore) where multi-step completion failure does not apply.
Of the 11-agent catalog (10 MoAI custom + 1 Anthropic built-in Explore), the MoAI custom agents are assigned models according to the tier. The 12 archived agents from earlier versions are not available.
| Agent | high | medium | low |
|---|---|---|---|
| manager-spec | opus / high | opus / medium | opus / low |
| manager-develop | opus / max | opus / medium | opus / low |
| manager-docs | opus / medium | opus / low | sonnet / low |
| manager-git | sonnet / low | sonnet / low | sonnet / low |
| manager-design | opus / high | opus / medium | opus / low |
| Agent | high | medium | low |
|---|---|---|---|
| plan-auditor | opus / high | opus / medium | opus / low |
| sync-auditor | opus / high | opus / medium | opus / low |
| builder-harness | opus / high | opus / medium | opus / low |
| super-advisor | opus / max | opus / high | opus / medium |
| e2e-tester | opus / medium | opus / low | sonnet / low |
The built-in Explore resolves to sonnet / low in every column — a call-time default, since it has no agent file on disk to pin.
# During project initialization
moai init my-project # Select the model policy in the interactive wizard
# Reconfigure an existing project
moai update -c # Re-run the setup wizardInfoThe default tier ismedium. Change it by re-running the setup wizard withmoai update -c.
When opening a project, Claude Code may show a security prompt about external file imports:
External imports:
/Users/<user>/.moai/config/sections/quality.yaml
/Users/<user>/.moai/config/sections/user.yaml
/Users/<user>/.moai/config/sections/language.yamlInfoRecommended action: Choose “No, disable external imports”.
Why:
- These files already exist in your project’s
.moai/config/sections/ - Project-level settings take precedence over global settings
- The essential settings are already included in the CLAUDE.md text
- Disabling external imports is safer and does not affect functionality
What the files are:
quality.yaml: TRUST 5 framework and development methodology settingslanguage.yaml: Language settings (conversation, comments, commits)user.yaml: User name (optional, used for Co-Authored-By)
MoAI-ADK v2.5.0+ lets you choose between two methodologies (TDD or DDD only). The hybrid mode was removed for clarity and consistency.
TDD writes the test first and then makes it pass, which suits new development; DDD pins existing behavior down with characterization tests and then works on it in small steps, which suits code that has almost no tests. The step-by-step procedure for each cycle is covered in SPEC-Based Development and DDD.
| Project State | Test Coverage | Recommended Methodology | Reason |
|---|---|---|---|
| New project | N/A | TDD | Test-first development |
| Existing project | 50%+ | TDD | A test base exists |
| Existing project | 10-49% | TDD | Tests can be extended |
| Existing project | < 10% | DDD | Incremental characterization tests needed |
# Auto-detected during project initialization
moai init my-project # Can be specified with the --mode <ddd|tdd> flag
# Manual configuration
# Edit .moai/config/sections/quality.yaml
development_mode: tdd # or dddThis is completely normal. The @MX tag system is designed to mark only the most dangerous and important code the AI should look at first.
| Question | Answer |
|---|---|
| Is it a problem if there are no tags? | No. Most code does not need tags. |
| When are tags added? | Only for high fan_in (callers >= 3), complex logic (complexity >= 15), and risky patterns (goroutines without context). |
| Is it similar across projects? | Yes. In every project, most code carries no tags. |
| Priority | Condition | Tag Type |
|---|---|---|
| P1 (critical) | fan_in >= 3 | @MX:ANCHOR |
| P2 (risky) | goroutines, complexity >= 15 | @MX:WARN |
| P3 (context) | magic constants, missing godoc | @MX:NOTE |
| P4 (missing) | no test file | @MX:TODO |
To scan your codebase for @MX tags:
/moai mx --all # Full scan
/moai mx --dry # Preview
/moai mx --priority P1 # Critical items only- GitHub Discussions — Questions, ideas, feedback
- Issues — Bug reports, feature requests
- Discord Community — Real-time chat, tips