
Security News
Re-Enabled GitHub Actions Expose Thousands of Repositories to Mini Shai-Hulud
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.
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.

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.

Research
/Security News
The compromise affects MemTensor's MemOS, an open source memory framework for large language models (LLMs) and AI agents. Both npm package @memtensor/memos-cloud-openclaw-plugin and the PyPI package MemoryOS are compromised. They drop cross-platform Go binaries that exfiltrate developer secrets.