Dimcode CLI
An AI coding agent CLI and terminal coding assistant with a beautiful interactive TUI

Dimcode is an AI coding CLI for terminal-first developers who want fast code generation, refactoring, repo search, code review, and agent-style workflows directly in the shell.
If you are searching for a CLI coding tool similar to Claude Code, Codex, OpenCode, or Cursor's terminal workflow, Dimcode is built for the same terminal-native use case while adding a polished multi-session TUI, tool approvals, MCP support, and flexible provider setup.
Dimcode helps you move fast with:
- 🎨 Beautiful TUI - Modern terminal interface built with Vue 3
- 💬 Multi-session Management - Organize multiple AI conversations
- 🔧 Built-in Tools - File ops, web search, code analysis, and more
- ⚡ Streaming Responses - See AI outputs in real time
- 🎯 Tool Approvals - Granular control over tool execution
- 🌈 Themes - Flexible, customizable color schemes
📈 Download Stats
| Weekly downloads |  |
| Total downloads |  |
Why Developers Search for Dimcode
Dimcode is designed for developers looking for:
- An AI coding CLI for daily programming tasks
- A terminal coding assistant for large codebases
- A Claude Code alternative with a richer TUI
- A Codex CLI alternative for multi-session work
- An OpenCode alternative with built-in tool approvals
- A Cursor alternative for terminal users who prefer staying in the shell
- A CLI AI agent for refactors, debugging, repo Q&A, and web research
⚡ Get Started in 30 Seconds
npm install -g dimcode
dim
Create a React component for a todo list
📦 Installation
Install Dimcode as your AI coding assistant CLI:
Global Installation (Recommended)
npm install -g dimcode
Or using other package managers:
pnpm add -g dimcode
yarn global add dimcode
bun add -g dimcode
Using npx (No Installation)
Run directly without installation:
npx dimcode
🎮 Usage
Command Palette
Press Ctrl+P to open the command palette, which provides quick access to:
- Sessions - View and switch between conversations
- New Session - Start a fresh conversation
- Settings - Configure API keys and model settings
- Tool Approvals - Manage tool execution permissions
- Theme - Customize the UI appearance (in Chat view)
Slash Commands
Type slash commands directly in the input field:
/settings | Open settings dialog (custom providers) |
/config | Alternative for /settings |
/approvals | Manage tool approvals (auto/all) |
/approval | Alternative for /approvals |
/connect | Connect a provider |
/models | Select a model |
/sessions | List all sessions |
/new | Create a new session |
/redo | Redo last interaction |
/rename <title> | Rename current session |
/timeline | Jump to a user message |
/tl | Alternative for /timeline |
/review | Review code changes |
/debug | Open debug dialog (node mode only) |
/compact | Compact session context |
/init | Initialize/improve AGENTS.md |
/exit | Exit the application |
/longrunning | Toggle long-running mode |
/tool-settings | Configure tool-specific settings |
/toolsettings | Alternative for /tool-settings |
/mcp | Open MCP settings |
/mcphub | Alternative for /mcp |
/mcp-settings | Alternative for /mcp |
/codexlogin | Login with Codex OAuth |
/codex-login | Alternative for /codexlogin |
/language | Switch UI language |
/lang | Alternative for /language |
/locale | Alternative for /language |
/theme | Toggle light/dark theme |
Keyboard Shortcuts
Ctrl+P | Open command palette |
F1 | Open help dialog |
Ctrl+O | Expand/collapse all tool calls & thinking |
Ctrl+K | Open settings (custom providers) |
Ctrl+C | Clear input (if non-empty); otherwise exit |
Ctrl+W | Clear input (alternative) |
Enter | Send message |
Shift+Enter | New line in input |
Ctrl+J | New line in input (alternative) |
Tab | Switch mode (Agent/Plan/Debug) |
Esc | Cancel/close dialog or interrupt response |
Input Tips
- Drag to select text, then release to auto-copy (when enabled)
- In the input area, use
Shift+Option for rectangular selection
- Triple-click in the input area to select all
Tab moves focus to the next input field; Shift+Tab moves to the previous
- The CLI is mouse-friendly for selection, scrolling, and clicking buttons/controls
Dimcode vs Other AI Coding Tools
If you are comparing Dimcode with Claude Code, Codex, OpenCode, or Cursor, the main difference is that Dimcode focuses on a terminal-first agent experience with:
- Interactive TUI workflows instead of a minimal chat-only shell
- Multi-session conversation management for parallel coding tasks
- Tool approvals and built-in tools for safer repo operations
- Flexible provider and model configuration for custom setups
- ACP / MCP connectivity for editor and tool integrations
That makes it a good fit for developers who want an AI code assistant in the terminal, but need more control and visibility than a basic CLI chat loop.
⚙️ Configuration
Environment Variables
Create a .env file in your working directory or set environment variables:
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1
DIMCODE_MODEL=deepseek-v3.1
SERPER_API_KEY=your_serper_key_here
DIMCODE_HOME=~/.dimcode
DIMCODE_DEBUG=1
Note: For backward compatibility, GOATCHAIN_ prefix is also supported (e.g., GOATCHAIN_MODEL, GOATCHAIN_DEBUG).
First-time Setup
On first launch, Dimcode will guide you through:
- API Key Setup - Enter your OpenAI API key
- Model Selection - Choose your preferred AI model
- Tool Approvals - Configure which tools can run automatically
Settings are stored in ~/.dimcode/dimcode/ directory by default (can be customized via DIMCODE_HOME environment variable).
ACP Server
DimCode can run as an ACP server for editors and tools such as Zed or OpenClaw acpx.
Preferred commands:
dim acp
node /absolute/path/to/GoatChain/scripts/acpx-agent.mjs
For GUI launchers, prefer absolute paths instead of relying on shell PATH.
Do not configure bun run acp-server in acpx or editor settings; it only works when the cwd is the GoatChain repo root.
If you use Codex OAuth, run dim auth codex once first. If you use a custom provider, make sure ~/.dimcode/config.json already contains a valid provider setup.
🔧 Built-in Tools
Dimcode comes with powerful built-in tools:
File Operations
- Read - Read file contents
- Write - Create or overwrite files
- Edit - Make precise edits to existing files
Code Analysis
- Grep - Search content using patterns
- Glob - Find files by pattern
Web & Research
- WebSearch - Search the web using Serper API
- WebFetch - Fetch web page content
Task Management
- TodoWrite - Create and manage TODO lists
System
- Bash - Execute shell commands (requires approval)
- AskUser - Request input from user
Skills
Skills are specialized capabilities that can be activated to extend DimCode's functionality. Built-in skills include:
- skill-installer - Install Codex skills from curated list or GitHub repos
- skill-creator - Guide for creating effective skills
📚 Examples
Basic Coding Assistant
dim
Multi-file Refactoring
dim
Web Research
dim
Compare CLI Coding Agents
dim
🔐 Security & Privacy
- Tool Approvals: By default, sensitive operations (file writes, shell commands) require user approval
- Local Storage: All session data is stored locally in
~/.dimcode/dimcode/ (customizable via DIMCODE_HOME)