Skip to content
Content
Agent

cli

**Navigation**: [Agents package rules](../AGENTS.md) → **Running Agents from CLI**

From plugin
nodetool
63614 skills14 agents

Claude Code

$ npx -y skills add nodetool-ai/nodetool --agent claude-code

Agent definition

cli.md

Running Agents from CLI

**Navigation**: [Agents package rules](../AGENTS.md) → **Running Agents from CLI**

Paths are relative to `packages/agents/` unless they name another package.

Interactive Chat

Every session runs the unified agent loop; `-a, --agent` and `--no-agent` are accepted for backwards compatibility and do nothing.

# Start a session
nodetool-chat

# With specific provider and model
nodetool-chat --provider anthropic --model claude-sonnet-5

# With workspace directory
nodetool-chat --workspace /path/to/project

# Connect to WebSocket server
nodetool-chat --url ws://localhost:7777/ws

Piped Input

echo "Summarize this codebase" | nodetool-chat --provider anthropic

Interactive Commands

`CHAT_COMMANDS` in `packages/cli-chat/src/app.tsx` is the list; anything else prints `Unknown command`. Every session runs the unified agent loop. `/agent` inspects the sub-agent threads created by that loop. It does not switch agent modes.

/help     — Show available commands
/new      — Start a new chat session
/clear    — Clear conversation history
/compact  — Summarize conversation into retained context: /compact [instructions]
/model    — Set provider and model: /model <provider/model-id>
/agent    — Inspect sub-agent threads: /agent [id|main]
/tools    — List enabled tools
/exit     — Exit the chat
/quit     — Exit the chat

`nodetool agent run`

An objective is one CodeAct turn over the same belt chat uses, so there is no second loop to configure. `packages/cli-chat/src/commands/agent.ts` assembles it: `buildCliAgentBelt({ ..., planning: true })` puts `create_plan` and `execute_plan` on the belt, `createCliCodeActTurn` turns that belt into the `execute_code` action plus the direct tools, and `processChat` runs the turn. The model decides whether the objective wants decomposing; nothing plans on its behalf.

The stream is the same `ProcessingMessage` union every host emits — `chunk`, `planning_update`, `task_update`, `tool_call_update`, `tool_result_update`, `step_result`, `log_update` — which is why `--json` output and the chat renderer read the same events.

To build a session of your own, use `createChatCodeActSession` (`src/codeact/chat-codeact.ts`) rather than assembling an executor: it owns the system prompt, the sandbox package allowlist, the resident/direct tool split, and the clock that stops the action budget while a permission prompt is open.

Read more
@nodetool-ai
Ships withnodetool

Open-source AI film studio · agent + node workflows Direct AI films, shot by shot. Start with one sentence. The agent writes the story, draws a still for every shot, and cuts the clips on a timeline.

6361 skill14 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
636
Star history of nodetool-ai/nodetool on GitHub, a chart by star-history.com

Other agents on nodetool.

MUTATION_TESTING

MUTATION_TESTING

Agent

The agent package's pure, deterministic core (the chat permission gate, the control-tool plumbing, JSON extraction, and the…

More agents from other plugins.

prompt-manager

prompt-manager

Agent

Agent for managing AI prompts on prompts.chat - search, save, improve, and organize your prompt library.

@gh-f@gh-fInstall Agent
humanize-diagnostician

humanize-diagnostician

Agent

정밀(strict) 모드 1단계 진단 에이전트. 글 전체를 한 번에 보고 "가장 지배적인 AI 티 패턴 3~6개"를 taxonomy ID와 함께 진단한다. 불안정한 span 열거(0↔18개로 요동) 대신 "무엇이 이 글을…

@epoko77-ai@epoko77-aiInstall Agent
blog-cluster-curator
Auto-invoked

blog-cluster-curator

Agent

Topic Clusters curator for the Claude Blog Brain. Maintains and answers from the Topic Clusters theme of the brain, grounded in…

@agricidaniel@agricidanielInstall Agent

Questions about cli.

Which coding agents can use cli?
cli installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.