
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
orquesta-cli
Advanced tools
AI-powered coding assistant with local LLM support - the self-hosted alternative to Claude CLI.
Use your own LLM (vLLM, Ollama, LM Studio, Azure OpenAI, or any OpenAI-compatible API) as a full coding agent - no cloud dependency, no subscription costs.
IMPORTANT: Orquesta CLI gives AI models the ability to execute commands on your system. Please read SECURITY.md before use.
Quick Security Tips:
autoApprove: false)Freedom from cloud dependencies - Run your own LLM infrastructure:
| Feature | Claude CLI | orquesta-cli |
|---|---|---|
| LLM Provider | Anthropic (cloud) | Any OpenAI-compatible endpoint |
| Hosting | Subscription required | Self-hosted / on-premises |
| Options | Claude only | vLLM, Ollama, LM Studio, Azure OpenAI, local models |
| Cost | Per-token pricing | Your infrastructure |
| Privacy | Data sent to Anthropic | Data stays local |
| Integration | - | Works with orquesta-agent |
| Benefit | Description |
|---|---|
| Zero Cloud Dependency | Runs entirely on your local/on-prem LLM. Your code never leaves your network. |
| No API Cost | Use open-source models (Llama, Qwen, DeepSeek, etc.) for free. |
| Any OpenAI-Compatible API | Works with vLLM, Ollama, LM Studio, Azure OpenAI, Google Gemini, and more. |
| Autonomous Coding Agent | Reads, searches, edits, and creates code files - not just chat. |
| Plan & Execute | Breaks complex tasks into TODO steps and executes them sequentially. |
| Safe by Default | Supervised mode requires your approval before any file modification. |
| Office Automation | Control Excel, Word, PowerPoint directly via PowerShell/COM (Windows). |
| Browser Automation | Chrome/Edge CDP control - navigate, click, screenshot, scrape data. |
| Your Own Browser | Drive the Chrome you are already using — real profile, real logins — via the Orquesta extension. |
| orquesta-agent Compatible | Works seamlessly with orquesta-agent for remote execution |
npm install -g orquesta-cli
Or run directly with npx:
npx orquesta-cli
orquesta
This launches the full interactive UI with plan & execute, file browser, session history, etc.
orquesta -p "fix the bug in auth.ts"
This executes the prompt and exits - compatible with orquesta-agent for remote execution.
orquesta # Setup wizard on first run
/settings # Settings menu while running
Any OpenAI-compatible API works:
http://localhost:8000/v1http://localhost:11434/v1http://localhost:1234/v1https://YOUR_RESOURCE.openai.azure.com/openai/deployments/YOUR_DEPLOYMENTConfiguration is stored in ~/.orquesta-cli/config.json.
orquesta-cli works seamlessly with orquesta-agent for remote execution:
# On your server/VM
npm install -g orquesta-cli
# Configure your local LLM endpoint
orquesta # Follow setup wizard
# Run orquesta-agent (it will use orquesta-cli instead of claude)
npx orquesta-agent --token <your-token>
orquesta-agent will execute prompts using orquesta-cli with your local LLM.
Automatically decomposes requests into TODO steps and executes them:
You: Add a logging system to the project
TODO List 1/3
[x] Create logger.ts
[ ] Add imports to existing code
[ ] Apply error handling
Every file modification requires your explicit approval:
| Command | Description |
|---|---|
/help | Show available commands |
/clear | Reset conversation |
/compact | Compress conversation |
/load | Load saved session |
/model | Switch LLM model |
/settings | Settings menu |
/usage | Token usage statistics |
/sync | Sync LLM configs with Orquesta dashboard |
/tool | Toggle optional tools (browser, browser extension, office) |
| Key | Action |
|---|---|
Ctrl+C | Exit |
ESC | Interrupt current task |
Tab | Toggle Auto / Supervised |
@ | File browser |
/ | Command autocomplete |
orquesta [options]
Options:
-p, --print <prompt> Execute a prompt and exit (non-interactive)
--token <token> Connect to Orquesta with CLI token (oclt_xxx)
--switch-project [projectId] Switch to different project
--status Show Orquesta connection status
--disconnect Disconnect from Orquesta
--sync Sync LLM configs with dashboard
--dangerously-skip-permissions Skip all permission prompts (auto-approve)
--verbose Enable verbose logging
--debug Enable debug logging
--llm-log Log LLM requests/responses
--eval Evaluation mode (NDJSON event streaming)
-V, --version Output version number
Connect to Orquesta to sync LLM configurations across your team:
# First time: Connect with token (get from https://orquesta.live/dashboard/orquesta-cli)
orquesta --token oclt_xxxxx
# You'll see a project selector - choose your project
# LLM endpoints will auto-sync from dashboard
# Later: Switch to different project
orquesta --switch-project
# Check connection status
orquesta --status
# Manual sync (also available via /sync command while running)
orquesta --sync
Windows only - Control Microsoft Office via PowerShell/COM:
| App | Capabilities |
|---|---|
| Excel | Read/write cells, create charts, formatting, conditional formatting, pivot tables, formulas |
| Word | Write text, headers, tables, images, footnotes, find/replace, styles, TOC |
| PowerPoint | Create slides, add text/images/shapes, apply themes, speaker notes |
Chrome/Edge automation via Chrome DevTools Protocol:
The browser_* tools launch their own Chrome with a clean profile, so the
pages they see are always logged out. Enable them with /tool → Browser.
The browser_ext_* tools drive the browser you are already using — your real
profile, your real sessions — instead of launching a clean one. That is the whole
point: an authenticated dashboard, a staging site behind SSO, or a page whose bug
only appears once you are logged in.
Two steps, both local:
/tool # 1. enable "Browser Extension (your own browser)"
# 2. click "Pair" in the extension popup and type the
# code browser_ext_status reports
Enabling the group starts the bridge — a small daemon on 127.0.0.1:8791-8798
that the extension talks to — so there is nothing to run by hand. It is spawned
detached and outlives the CLI on purpose: it holds the pairing, so short
orquesta -p runs and several sessions share one browser without pairing again.
Its log is ~/.orquesta-cli/browser-bridge.log.
Run it yourself with npx orquesta-bridge when you want to watch it, point
ORQUESTA_BRIDGE_CMD at a checkout to develop against one, and set
ORQUESTA_BRIDGE_AUTOSTART=0 to stop the CLI starting one at all.
The extension lives in its own repo (orquesta-extension) and is loaded unpacked while it is unreleased.
| Tool | What it does |
|---|---|
browser_ext_status | Is the bridge up, is a browser paired |
browser_ext_tabs / _open / _reload | List tabs, open a URL, reload |
browser_ext_click / _fill / _press / _select | Interact with the page |
browser_ext_text / _html / _eval | Read the page, run JS in it |
browser_ext_screenshot | Capture the visible tab |
browser_ext_console / _network | Console messages and requests |
browser_ext_wait | Wait for a selector or navigation |
browser_ext_embed | Inject the Orquesta embed widget into the page |
Nothing leaves the machine: the CLI talks to the bridge over loopback with a
0600 token in ~/.orquesta-cli/, and the bridge talks to the extension over a
paired local WebSocket.
orquesta-cli is its own MCP client — it does not shell out to Claude Code or any
other CLI. Servers connect at startup (interactive and -p), and their tools are
registered as mcp__<server>__<tool>, so the model uses them like any built-in tool.
orquesta mcp list # every source, and which entry wins
orquesta mcp list --probe # connect for real and list the tools
orquesta mcp add fs -- npx -y @modelcontextprotocol/server-filesystem .
orquesta mcp add api --url https://example.com/mcp --header "Authorization: Bearer $TOKEN"
orquesta mcp add fetch --builtin fetch # bundled server
orquesta mcp remove fs
Transports: stdio, Streamable HTTP, SSE, and builtin (bundled).
Configuration sources, lowest to highest precedence — a later one overrides an earlier one with the same server name:
| Source | Notes |
|---|---|
| built-in | Bundled servers, see below |
~/.claude.json | Inherited from Claude Code, so servers added with claude mcp add work here too. Turn off with orquesta mcp inherit off |
~/.orquesta-cli/config.json | What orquesta mcp add writes |
<project>/.mcp.json | The Claude Code project convention, read verbatim |
<project>/.orquesta/mcp.json | Same content, under the Orquesta folder |
Built-in servers are compiled into the CLI and linked in-process — no child
process, no npx, no Node.js, nothing to install. They are the only servers that
work on a machine running the standalone binary with no Node present:
| Id | Tools |
|---|---|
fetch | Retrieve http/https URLs as text (HTML converted to readable text) |
External MCP servers are npm packages, so they still need Node.js on the machine. When it is missing, the server is reported with that reason instead of a bare spawn error.
# Clone the repository
git clone https://github.com/orquesta/orquesta.git
cd orquesta/packages/orquesta-cli
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
# Or: node dist/cli.js
Both tools are AI-powered coding assistants but differ in architecture:
Use Claude CLI if: You want the best model quality and have a subscription.
Use orquesta-cli if: You need data privacy, self-hosting, or want to use specific models (local, on-prem, etc.).
MIT
FAQs
Orquesta CLI - AI-powered coding assistant with team collaboration
The npm package orquesta-cli receives a total of 0 weekly downloads. As such, orquesta-cli popularity was classified as not popular.
We found that orquesta-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.