Everything should be made as simple as possible, but not simpler.
— Albert Einstein
Open Source · Apache 2.0 · v2026.6.26

Open-source general-purpose AI agent for long-horizon tasks and AI discovery.

§ 01 — KISS Sorcar vs Claude Code vs Cursor

How does it compare?

A side-by-side look at the differences that matter for everyday use.

Capability KISS Sorcar Claude Code Cursor
Interfaces CLI + VS Code extension + web/mobile app CLI + mobile app Custom VS Code
Multiple models from multiple vendors in the same task Mix OpenAI, Anthropic, Gemini, Together, MiniMax, OpenRouter, Claude Code CLI, and Codex CLI Anthropic Claude models only One model per task
Primary focus Quality — rigorous review, end-to-end tests Speed and developer ergonomics Speed
Models in bundled catalog 501 across 8 provider categories Claude family only Subset chosen by Cursor
Bring your own API key / endpoint Yes — keys stay on your machine Anthropic key Routed through Cursor backend
Open source Apache-2.0 Proprietary Proprietary
Price Free framework; pay only your chosen model provider Subscription / API usage Subscription
Run on top of Claude Code / Codex CLI cc/* and codex/* namespaces N/A
Messaging and communication channels 23 third-party agents, including Slack, Gmail, Phone Control, SMS, and WhatsApp Slack, mobile Remote Control, and research-preview channels for Telegram, Discord, and iMessage; no documented built-in Gmail, WhatsApp, phone-call, or SMS channel Slack and Microsoft Teams Cloud Agent integrations; no documented built-in Gmail, WhatsApp, phone-call, or SMS channel
Terminal Bench 2.0 score 62.2% 58% 61.7% (Cursor agent)
§ 02 — What is in the Name

What is in the Name?

Two names. One principle. A nod to a Bengali magician.

KISS Agent Framework

Keep it Simple, Stupid.

KISS Agent Framework is a deliberately small agent runtime organized around the KISS principle — "Keep it Simple, Stupid."

KISS Sorcar

Named after P. C. Sorcar.

KISS Sorcar is named after P. C. Sorcar, the Bengali magician. Note: Sorcar also means government in Bengali.

§ 03 — Installation

Install in one line.

Pick the install path that fits you — full source, Python package, or the VS Code extension. All you need is at least one API key from a major LLM provider.

Full install from source

macOS and Linux on x86_64, aarch64, and arm64. Installs or checks every tool needed to run KISS Sorcar and build/install the VS Code extension.

$ curl -fsSL https://raw.githubusercontent.com/ksenxx/kiss_ai/main/scripts/install.sh | bash

Python package / CLI install

For just the Python package and CLI entry points. KISS Sorcar requires Python 3.13+.

$ pipx install kiss-agent-framework
# or
$ uv tool install kiss-agent-framework

Configure model access

Provide at least one model backend through environment variables:

export ANTHROPIC_API_KEY=...
export OPENAI_API_KEY=...
export GEMINI_API_KEY=...
export TOGETHER_API_KEY=...
export OPENROUTER_API_KEY=...
export MINIMAX_API_KEY=...

Or configure a custom endpoint with --endpoint / -e and optional repeated --header Key:Value CLI flags.

VS Code Extension

To install only the KISS Sorcar extension, open Visual Studio Code, search for KISS Sorcar in the extension marketplace, install it, and relaunch VS Code.

Press ESC if you do not have a specific API key ready, but configure at least one model backend before running tasks.

§ 04 — CLI Interface

The sorcar CLI.

sorcar runs in two modes. Interactive (no -t/--task or -f/--file) is a Claude-Code-style REPL that connects as a thin terminal client to the local sorcar web daemon; chat-session control (new chat, resume by id, list history) and worktree merge/discard prompts are driven from slash commands, and each task is isolated in a git worktree by default. Non-interactive (-t or -f supplied) runs a plain SorcarAgent once on the supplied task and exits; worktree isolation and chat-session control are unavailable in this mode, but display events are still streamed into the chat DB so the run is replayable in the chat webview.

Example invocations

# Launch the interactive Sorcar CLI, similar to Claude Code.
sorcar
# Run a one-shot task (non-interactive).
sorcar -t "What is 2435*234?"
# Use a specific model.
sorcar -m "claude-sonnet-4-6" -t "What is 2435*234?"
# Custom endpoint and headers for a local or self-hosted model.
sorcar -e "http://localhost:8000/v1" --header "Authorization:Bearer xxx" \
-t "Summarise this codebase."
# Cap spend at $2 and pin the working directory.
sorcar -b 2.0 -w "$HOME/projects/my-repo" -t "Refactor utils.py for clarity."
# Use the contents of a file as the task.
echo "Can you find the cheapest non-stop flight from SFO to JFK on June 15?" > prompt
sorcar -f prompt
# Disable browser/web tools (terminal-only mode).
sorcar --no-web -t "Lint and fix every Python file under src/."
# Disable parallel sub-agents for a deterministic single-thread run.
sorcar --no-parallel -t 'Run pytest and report which tests fail and why.'
# Ask Sorcar to use desktop/browser/messaging tools.
sorcar -t 'Can you send the message "Hello from Sorcar!" to ksen via the desktop Slack app?'
# Ask Sorcar to explain code.
sorcar -t 'Can you show me the detailed step-by-step workflow of gepa.py?'
# Manage MCP servers (see "sorcar mcp" subcommand below).
sorcar mcp list --ping

CLI options

FlagDescription
-t, --taskTask description; switches to non-interactive mode
-f, --filePath to a file whose contents are used as the task; switches to non-interactive mode
-m, --model_nameLLM model name; defaults to the best available model for the configured API keys
-e, --endpointCustom base URL for a local or self-hosted model
--headerCustom HTTP header in Key:Value form; may be repeated
-b, --max_budgetMaximum spend in USD for the run
-w, --work_dirWorking directory; defaults to the directory where sorcar is launched
-v, --verbosePrint Rich panels to the console (true by default; pass false for quiet mode)
-p, --parallel / --no-parallelEnable/disable parallel sub-agents (enabled by default)
--worktree / --no-worktreeInteractive only. Isolate each task in a git worktree branch (enabled by default); use --no-worktree to run directly in the working tree
--auto-commit / --no-auto-commitInteractive only. Auto-commit worktree changes when a task finishes (enabled by default); use --no-auto-commit to preserve the worktree for manual review
--no-webDisable browser/web tools (terminal-only mode)

--worktree / --no-worktree / --auto-commit / --no-auto-commit are rejected with exit 2 when combined with -t/-f, since the non-interactive path runs a bare SorcarAgent that does not implement them. Argparse prefix abbreviations are disabled, so each flag must be spelled out in full.

Interactive CLI features

  • @ file/folder mentions with ranked project-file completion.
  • Slash commands: /help, /clear (alias /new), /resume, /model, /model list, /cost (aliases /usage, /context), /commands, /skills, /mcp, /autocommit, and /exit (alias /quit).
  • Custom Markdown slash commands loaded from ~/.kiss/commands, <project>/.kiss/commands, ~/.claude/commands, and <project>/.claude/commands.
  • Agent Skills loaded from ~/.kiss/skills, <project>/.kiss/skills, Claude skill directories, .agents/skills, and bundled Sorcar skills.
  • MCP server discovery from ~/.kiss/mcp.json, <project>/.kiss/mcp.json, and <project>/.mcp.json.
  • VS Code "Tricks" button entries read from ~/.kiss/INJECTIONS.md (one per ## Trick section), seeded on install from the bundled src/kiss/INJECTIONS.md. Edit the file to customise the dropdown; remove it to regenerate from the bundled defaults.
  • VS Code welcome-screen sample-task chips read from ~/.kiss/SAMPLE_TASKS.md (one per ## Task section), seeded on install from the bundled src/kiss/agents/vscode/SAMPLE_TASKS.md. Edit the file to customise the chips; remove it to regenerate from the bundled defaults.

sorcar mcp subcommand

Manage Model-Context-Protocol servers used by Sorcar:

SubcommandPurpose
sorcar mcp add <name> <cmd…>Register a stdio (default) or --transport http/sse server in --scope user (~/.kiss/mcp.json) or --scope project (<work_dir>/.kiss/mcp.json); supports --env KEY=VALUE and --header 'Key: Value' (repeatable).
sorcar mcp list [--ping]List configured servers; --ping also connects and reports live status and tool counts.
sorcar mcp get <name>Print one server's configuration as JSON.
sorcar mcp remove <name>Delete a server from every writable config file.
sorcar mcp auth <name> [--no-browser]Run the OAuth 2.1 browser flow (dynamic client registration + PKCE) and persist tokens under ~/.kiss/mcp_auth/.
sorcar mcp logout <name>Delete a server's stored OAuth tokens.
sorcar mcp debug <name>Connect and dump capabilities, tools (with input schemas and permission status), resources, and prompts.
§ 05 — Messaging & Third-Party Agents

💬 Reach the agent from anywhere.

KISS Sorcar includes 23 third-party messaging agents that can send and receive messages on your behalf. It also ships a Govee smart-home CLI for controlling IoT lights (on/off, brightness, color, and color temperature) via the Govee Developer API. These agents live in src/kiss/agents/third_party_agents/.

23 messaging channels

BlueBubbles Discord Feishu Gmail Google Chat iMessage IRC LINE Matrix Mattermost Microsoft Teams Nextcloud Talk Nostr Phone Control Signal Slack SMS Synology Chat Telegram Tlon Twitch WhatsApp Zalo

Plus: smart-home control

A Govee smart-home CLI for controlling IoT lights — on/off, brightness, color, and color temperature — directly via the Govee Developer API.

§ 06 — Models Supported

🤖 501 models. 8 provider categories.

KISS Sorcar ships a catalog of 501 models across 8 provider categories, with built-in prices, context lengths, and capability flags (fc function calling, gen generation, emb embedding). The source of truth is src/kiss/core/models/MODEL_INFO.json.

Provider categories

OpenAI70
Anthropic13
Gemini / Google23
Together AI77
MiniMax5
OpenRouter303
Claude Code CLI (cc/*)3
Codex CLI (codex/*)7

Catalog capability totals

Across all bundled providers, the catalog currently reports:

485
generation-capable models
321
function-calling-capable models
7
embedding models

See the full per-provider model list in the README, including the cc/* and codex/* namespaces that let KISS Sorcar run on top of the Claude Code and Codex CLIs.

§ 07 — Contributing

🤗 Contributing.

Contributions in the form of issues are welcome. KISS Sorcar should be able to help implement and review them.

Open an issue

Report bugs, request features, or share ideas. Each issue becomes a candidate task KISS Sorcar can pick up and work on.

Open an issue →

Let KISS Sorcar implement and review

Drop an issue link into a Sorcar task and it will draft a fix, run tests, and self-review before opening a PR.

GitHub repo →

§ 08 — License

📄 License.

KISS Sorcar is released under a permissive open-source license.

Apache-2.0

Use it for anything — personal, commercial, research, education. See LICENSE for the full text.

Apache License 2.0
§ 09 — Citation

📚 Cite the paper.

If you use KISS Sorcar in your research, please cite:

Koushik Sen. KISS Sorcar: A Stupidly-Simple General-Purpose and Software Engineering AI Assistant. arXiv preprint arXiv:2604.23822, 2026.

@misc{sen2026kisssorcar,
  title         = {KISS Sorcar: A Stupidly-Simple General-Purpose and Software Engineering AI Assistant},
  author        = {Sen, Koushik},
  year          = {2026},
  eprint        = {2604.23822},
  archivePrefix = {arXiv},
  primaryClass  = {cs.SE},
  url           = {https://arxiv.org/abs/2604.23822}
}