An async coding agent terminal app built on ElizaOS - like Claude Code, but with fully asynchronous task execution and continuous conversation.
- Dual-Pane Terminal UI: Chat pane for conversation, task pane for monitoring progress
- Async Task Execution: Tasks run in the background while you continue chatting
- Multiple Chat Rooms: Create separate conversation contexts
- Coding Tools: File operations, shell commands, search, and more
- Task Context Injection: The agent knows about ongoing tasks and their progress
- Bun runtime
- OpenAI or Anthropic API key
cd eliza-code
bun installCopy the environment example and add your API key:
cp .env.example .env
# Edit .env and add your OPENAI_API_KEY or ANTHROPIC_API_KEYStart Eliza Code:
bun start| Key | Action |
|---|---|
Enter |
Send message |
Tab |
Toggle focus between chat/task panes |
Ctrl+N |
Create new chat room |
Ctrl+Q |
Quit |
Ctrl+↑/↓ |
Scroll chat history or task output |
↑/↓ |
Navigate task list (when task pane focused) |
Once running, you can chat with the agent:
> list files in src
> read the package.json
> search for "TODO" in the codebase
> run npm test
> create a task to implement user authentication
eliza-code/
├── src/
│ ├── index.tsx # Entry point
│ ├── App.tsx # Main layout
│ ├── components/ # Ink UI components
│ │ ├── ChatPane.tsx
│ │ ├── TaskPane.tsx
│ │ ├── StatusBar.tsx
│ │ └── MessageBubble.tsx
│ ├── lib/
│ │ ├── agent.ts # Eliza runtime setup
│ │ ├── chat-manager.ts
│ │ ├── task-manager.ts
│ │ └── store.ts # Zustand state
│ ├── lib/cwd.ts # CWD tracking (no filesystem listing)
│ └── types.ts # TypeScript types
The agent can use these actions:
In this example, the main agent is an orchestrator (no filesystem tools). It uses:
- @elizaos/plugin-agent-orchestrator: task creation + lifecycle (CREATE_TASK, LIST_TASKS, etc.)
- @elizaos/plugin-shell: shell execution (when enabled) for high-level commands
All file reading/writing/editing and detailed repo work happens inside worker sub-agents (Codex, Claude Code, SWE-agent, etc.).
- Chat with the agent in the left pane
- Watch tasks execute in the right pane
- Tasks run asynchronously - you can continue chatting while they work
- The agent receives task context so it knows what's happening
- Switch between tasks to view different outputs
# Run with watch mode
bun dev
# Type check
bun run tsc --noEmit- ElizaOS - Agent framework
- @elizaos/tui - Terminal UI framework
- Zustand - State management
- Claude - AI model via Anthropic plugin