By SkynetBuild
A real agent loop in your terminal — it reads, edits, and runs commands in your project. Point it at Claude, GPT, Gemini, Grok, or something fully local. Same tools, same permissions, same sessions, whichever one is answering.
Python package · or
git clone github.com/skynetbuild/openterminal
Every agentic coding CLI today locks you into one vendor. This one doesn’t.
Not a chat wrapper. It reads, searches, edits, and runs commands in your project — proposing tool calls, executing them, and feeding results back until the task is done.
Anthropic, OpenAI, Gemini, and Grok get native tool-calling adapters. Anything OpenAI-compatible — Ollama, LM Studio, vLLM, a provider we've never heard of — rides the same adapter for free.
Reads are free. Writes and shell commands stop for your review first — once, for the session, or never — with the diff right there before you decide.
Configure a backup model. If the primary errors out before answering — a bad key, an outage, a rate limit — OpenTerminal retries on the next one and tells you it did.
Every conversation is saved to disk. --continue picks up where you left off in this project; --resume <id> for anything older.
Any OpenAI-compatible endpoint — a self-hosted vLLM box, your employer's internal gateway, a brand-new provider — is a few lines in a config file, not a pull request.
Three steps, and the third one is the one that actually changes your code.
Run openterminal in any repo. It reads your project's git state and an OPENTERMINAL.md/AGENTS.md if you have one, and folds that into every session.
It reads and searches the codebase, proposes edits as reviewable diffs, and runs shell commands — asking first for anything that touches disk.
Once for a change, for the whole session, or never — your call, every time. The result lands in your project, not in a chat window you have to copy out of.
Product philosophy
“Every coding agent CLI today ships as a wrapper around one company’s model. We think the terminal, the tools, and the permission model are the product — the model behind it should be a setting, not a lock-in.”
Config, not code.
Anthropic and Gemini get native adapters for the best tool-calling fidelity. Everything else — OpenAI, Grok, Ollama, LM Studio, vLLM, or an endpoint we’ve never heard of — speaks the same OpenAI-compatible wire format, so pointing OpenTerminal at it is a few lines in a TOML file. Set a fallback chain and it switches automatically if the primary model errors out before answering.
# ~/.config/openterminal/config.toml
model = "anthropic/claude-sonnet-4-5"
fallback_models = ["openai/gpt-5.2", "ollama/qwen2.5-coder:32b"]
[custom_providers.myprovider]
display_name = "My Provider"
base_url = "https://api.myprovider.com/v1"
api_key = "..."
default_model = "my-model"By SkynetBuild
SkynetBuild is an independent lab building agentic developer tools — OpenTerminal is the first one out the door. No VC-mandated model lock-in, no walled garden: pick the tools you already build with.
Visit skynet.build →