Skip to main content

Frequently Asked Questions

UPDATED 2026-08-26 6 min read EDIT ON GITHUB ↗

Frequently asked questions and answers about using MoAI-ADK.


Q: What is the difference between moai and /moai?

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 runsTerminal shellClaude Code chat input
What it isGo binaryClaude Code skill invocation
PurposeProject setup, template deploymentAI agent development workflows
Examplemoai init my-project/moai plan "auth feature"
  • Running moai plan in the terminal does nothing — /moai plan is only valid inside Claude Code.
  • Typing /moai init in Claude Code does nothing — moai init is a terminal command.

Q: What does the version display in the statusline mean?

The MoAI statusline shows version information together with an update notification:

text
🗿 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:

text
🗿 v3.1.3

How to update: Run moai update and the update notification disappears.

Info
Note: 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.

Q: How do I customize the segments shown in the statusline?

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:

yaml
statusline:
  segments:
    model: true
    context: true
    output_style: false
    directory: false
    git_status: true
    claude_version: false
    moai_version: false
    git_branch: true

With no segments: block, every segment is enabled by default.

Info
For details, see SPEC-STATUSLINE-001.

Q: How do I choose a model policy?

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 Comparison

TierCharacteristics
highHighest quality — max reasoning depth on the two rarest-invocation agents
medium (default)Balance of quality and cost — the knee of the cost/score curve
lowLowest cost per task — agentic agents drop to Opus low effort
Warning
Why does this matter? Lowering the tier lowers reasoning depth, not model class. On a long-horizon agentic task, Opus at low effort 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. So low economizes within Opus and reaches for Sonnet only on single-shot rows (manager-git, Explore) where multi-step completion failure does not apply.

Agent Model Assignment per Tier

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.

Manager Agents (5)

Agenthighmediumlow
manager-specopus / highopus / mediumopus / low
manager-developopus / maxopus / mediumopus / low
manager-docsopus / mediumopus / lowsonnet / low
manager-gitsonnet / lowsonnet / lowsonnet / low
manager-designopus / highopus / mediumopus / low

Evaluator · Builder · Advisor · Specialist Agents (5)

Agenthighmediumlow
plan-auditoropus / highopus / mediumopus / low
sync-auditoropus / highopus / mediumopus / low
builder-harnessopus / highopus / mediumopus / low
super-advisoropus / maxopus / highopus / medium
e2e-testeropus / mediumopus / lowsonnet / 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.

How to Configure

bash
# 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 wizard
Info
The default tier is medium. Change it by re-running the setup wizard with moai update -c.

Q: I see an “Allow external CLAUDE.md file imports?” warning

When opening a project, Claude Code may show a security prompt about external file imports:

text
External imports:
  /Users/<user>/.moai/config/sections/quality.yaml
  /Users/<user>/.moai/config/sections/user.yaml
  /Users/<user>/.moai/config/sections/language.yaml
Info
Recommended 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 settings
  • language.yaml: Language settings (conversation, comments, commits)
  • user.yaml: User name (optional, used for Co-Authored-By)

Q: What is the difference between the TDD and DDD methodologies?

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.

Methodology Selection Table

Project StateTest CoverageRecommended MethodologyReason
New projectN/ATDDTest-first development
Existing project50%+TDDA test base exists
Existing project10-49%TDDTests can be extended
Existing project< 10%DDDIncremental characterization tests needed

How to Configure

bash
# 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 ddd

Q: Why does my code have no @MX tags?

This is completely normal. The @MX tag system is designed to mark only the most dangerous and important code the AI should look at first.

QuestionAnswer
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.

Tag Priorities

PriorityConditionTag 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:

bash
/moai mx --all        # Full scan
/moai mx --dry        # Preview
/moai mx --priority P1  # Critical items only

More Questions?