Install
Four ways in. After install you have 360 commands (312 canonical, 48 shortcuts) and 46 specialist agents.
1. From npm.
The fastest path. Requires Node ≥ 18.
npm install -g luna-agents && luna-setup 2. As a Claude Code plugin.
After the npm install, the plugin is registered automatically. If
you skipped luna-setup, or you want to install just
the plugin without the CLI, do it inside Claude Code:
/plugin marketplace add lunaos-ai/luna-agents /plugin install luna-agents@luna-agents-marketplace
Already installed something? Re-run luna-setup — it's
idempotent.
3. As a Codex plugin.
Run these commands in your terminal. Codex installs Luna as a namespaced skill library: every command and agent remains available without taking over ordinary prompts.
codex plugin marketplace add lunaos-ai/luna-agents codex plugin add luna-agents@luna-agents-marketplace
Start a new Codex task after installation so Codex loads
the plugin. Invoke skills with $luna-agents:name, not the
Claude Code slash syntax. Start with $luna-agents:cmds, then
try $luna-agents:plan, $luna-agents:go, or
$luna-agents:test.
4. From source.
For contributors and folks who want the head of main.
git clone https://github.com/lunaos-ai/luna-agents && cd luna-agents && npm install && ./setup.sh npm run codex:generate && codex plugin marketplace add . && codex plugin add luna-agents@luna-agents-marketplace Verify.
luna --version && luna pipe "persona generate >> ghost \"hello\""
In Claude Code, type /luna-agents:cmds. In a new Codex task,
type $luna-agents:cmds. Both expose the same 360-command library.
Configure.
Most verbs work without keys. A few (image generation, voice, certain
external APIs) need credentials. The runtime reads from your OS
keychain first, then .env. Never paste keys into pipes.
luna config set openai_key && luna config set anthropic_key Troubleshooting.
I don't see all the skills / shortcuts after npm install.
Two causes, both fixable in 10 seconds:
- You're on an old version. The full skill set
ships from
luna-agents@2.0.1onward. Runnpm install -g luna-agents@latestand thenluna-setupagain — it's idempotent. - The plugin wasn't registered with Claude Code.
Run
luna-setup, or do it manually inside Claude Code with the two/plugincommands above. Then restart Claude Code (it loads plugin manifests at startup).
npm uninstall -g luna-agents && npm install -g luna-agents@latest && luna-setup --force The plugin is registered but commands don't autocomplete.
Claude Code caches the slash-command index per session. Restart
it. If still empty, check ~/.claude/plugins/luna-agents/claude-plugin.json
exists and points to commands/ — that's where the
registrar reads from.
Codex says a Luna skill is not found.
Run codex plugin list and confirm
luna-agents@luna-agents-marketplace is installed and enabled.
Then start a new Codex task; plugin skills are loaded when a task begins.
Use the full name, including the dollar sign and namespace:
$luna-agents:go.
codex plugin add luna-agents@luna-agents-marketplace