twinny is a free, open source version control & collaboration project written in TypeScript and released under MIT. It has 3,650 GitHub stars, 230 forks and 48 open issues, and was last pushed 21 hours ago. On this registry it ranks #18 of 38 tracked projects in Version Control & Collaboration, with 5 head-to-head comparisons available.

What is twinny?

twinny is a free, MIT-licensed AI coding assistant for Visual Studio Code that brings code completion, chat, inline edits, code review and commit messages to individual developers and teams running a model server they choose — local, on another device, hosted, or shared as one team gateway.

What it is

twinny is an open-source Visual Studio Code extension, written in TypeScript and released under the MIT licence. It is published in the VS Code Marketplace as rjmacarthy.twinny and requires VS Code 1.93 or newer. Its features — completion, inline edit, chat, workspace index, code review, commit messages and terminal help — run against a model server rather than one fixed vendor, covering Ollama, LM Studio, llama.cpp, QVAC, Oobabooga, LiteLLM, Open WebUI and any OpenAI-compatible server, along with paired devices and a shared team gateway.

The problem it addresses is keeping assistant features inside a network the developer controls. It replaces the account-bound hosted arrangement: everything runs against a server the user picks, with no telemetry and no sign-in, so prompts, completions and review context need not leave the machine or the team's infrastructure. Context is assembled locally from open files, imports, the language server and recent edits, and from a workspace index combining keyword and vector search that is reranked before reaching the prompt and updates on save.

Key capabilities

  • Fill-in-the-middle code completion streamed as ghost text and stopped at a sensible end, with context from open files, imports, the language server and recent edits, tuned for a 7B model.
  • Inline edit on Ctrl+I, reviewed as a diff and accepted or rejected per hunk, plus "Fix with twinny" on any diagnostic.
  • Chat with your code: @ attaches files, symbols, the problems panel, the git diff, the terminal or a workspace index search, and conversations are kept.
  • Code review of the working tree, of a branch against its base, or of a GitHub pull request, and commit messages generated from the staged diff.
  • Terminal help that writes a command from a description and shows it before running, and on failure locates the file and line and offers a fix.
  • Editable prompt templates, with every feature exposed as a plain VS Code command that can be rebound.

Who uses it and how

  • Individual developers running Ollama, LM Studio or llama.cpp on their own machine; twinny finds these on their usual ports at first start and asks which models to use.
  • Developers whose GPU sits on another computer, pairing with a code through Devices and using that machine's GPU over an encrypted peer-to-peer link, with no account and no relay.
  • Teams placing one gateway on their network so every developer's VS Code is served, with a key per person, usage, policy and an admin page, set up by npx twinny-server quickstart.
  • Small teams weighing cost: free for five developers, $6 a seat per month beyond that, with a 30-day trial requiring no card.

Getting started

Install from the Visual Studio Marketplace (extension rjmacarthy.twinny) on VS Code 1.93 or newer, then run a model server — Ollama, LM Studio and llama.cpp are detected on their usual ports — and begin typing. Teams additionally run npx twinny-server quickstart to stand up the shared gateway.

How it compares

The entry material lists no paid products that twinny replaces and names no comparable assistant, so it stands alone in this registry. Against whatever alternatives a reader already knows, the documented axes are its MIT licence, self-hosted model servers, no telemetry and no account, and a team gateway that is free for five developers and $6 a seat thereafter.

When to use it — and when not to

Choose twinny when code and models must stay on infrastructure you control, and expect to operate that infrastructure: a model server such as Ollama, LM Studio or llama.cpp, and for teams the gateway, which is where seat pricing begins after five developers. It is a poor fit if you want a fully managed hosted assistant, if you do not use VS Code 1.93 or newer, or if you expect a vendor-operated service rather than a project you install and point at your own models. Output quality follows whichever model you supply, and the completion path is tuned around a 7B model.

project readme (upstream, from github) — read inline

twinny

The AI coding assistant for Visual Studio Code that stays inside your network. Code completion, inline edits, chat, code review and more, on a model server you choose: on your machine, on another of your devices, on a hosted API, or on one gateway your whole team shares. Free, open source, MIT licensed, no telemetry, no sign-in.

Install from the Marketplace · Documentation · What's new · Changelog · Teams · 中文 · Português (BR)

For teams: one gateway on your network serves every developer's VS Code, with a key per person, usage, policy and an admin page. npx twinny-server quickstart sets it up. Free for five developers, $6 a seat a month after that, and a 30-day trial with no card. Details, prices and a live admin page at twinny.dev.

Getting started

  1. Install twinny from the Marketplace (VS Code 1.93 or newer).
  2. Run a model server. Ollama, LM Studio and llama.cpp are found on their usual ports at first start; twinny asks which models to use.
  3. Type. Completions appear as ghost text; the sidebar has chat.

The quick start covers picking a server and models for your hardware, and troubleshooting explains every error message.

What it does

  • Code completion. Fill-in-the-middle suggestions as you type, streamed as ghost text and stopped at a sensible end. Context comes from open files, imports, the language server and your recent edits. Tuned to work well with a 7B model.
  • Inline edit. Ctrl+I, describe a change, and review it as a diff in the editor. Accept or reject per hunk. Fix with twinny on any diagnostic.
  • Chat with your code. Type @ to attach files, symbols, the problems panel, the git diff, the terminal, or a search of the workspace index. Conversations are kept.
  • Workspace index. Hybrid keyword and vector search over the workspace, reranked before it reaches the prompt, updated on save. Sources show under replies.
  • Code review of the working tree, a branch against its base, or a GitHub pull request, and commit messages from the staged diff.
  • Terminal. Write a command from a description, shown before it runs. When one fails, twinny finds the file and line and offers the fix.
  • Prompt templates you can edit, and every feature is a plain VS Code command you can rebind.

Everything runs against a server you control. No telemetry, no account. See Status bar, logs and privacy.

Model servers and providers

Where the model runs How
On your machine Ollama, LM Studio, llama.cpp, QVAC, Oobabooga, LiteLLM, Open WebUI, or any OpenAI-compatible server.
On another of your computers Devices: pair with a code and use that machine's GPU over an encrypted peer-to-peer link. No account, no relay.
On a hosted API OpenAI, Anthropic, Mistral (Codestral for completion), DeepSeek, OpenRouter, Gemini, Groq, Cohere, Perplexity.
On your team's gateway Connect to a twinny-server and use the models the team set up. See below.

Mix them: a local model for completion, a hosted one for chat. The supported models page says which models work for which job on which hardware.

Teams: one gateway for everyone

twinny-server is a small dependency-free server that runs on the machine with the models and serves chat, completion and embeddings to every developer's VS Code. Prompts go to your gateway and your backend, nowhere else.

npx twinny-server quickstart

That finds your model server, writes a configuration, makes an admin key and serves. From the admin page you set the team's default models, send each developer an invite link that opens VS Code and connects them, and see usage per person and per model.

  • A key per developer, stored as a hash, revoked live. Usage, failures and tokens per person and per model; never the content.
  • Pool the team's own computers. A developer flips Share this computer and their local server serves the team through the gateway. No port to open.
  • Plugins (licence): pull requests and issues from GitHub, GitLab, Gitea and Bitbucket listed on the admin page and reviewed by your own models, with the review posted back to the host; Slack, Discord and Teams notifications; SSO sign-in with any OpenID Connect provider; one shared context index for every developer's chat; nightly backups.
  • Team policy (licence): team-only providers, locked defaults, routing rules that keep a workspace on local backends, a team system prompt. Shown for consent before connecting.
  • Recording (licence): keep prompts and replies on the gateway, disclosed to every developer, exported as training data.
  • Operations: a hash-chained audit log of every admin change, read-only admin keys, Prometheus metrics, costs per developer when a model has a price, a request queue for a shared GPU, Docker and a Helm chart.

Free for five developers, forever. A licence bought by card at twinny.dev adds seats and switches on policy, recording and plugins; it is checked locally and the gateway never phones home. A 30-day trial token with every feature is issued by email, no card. See the teams guide, licensing and seats, and the operator reference in docs/gateway.md.

Repository layout

Path What
src/extension The VS Code extension, by feature: completion, chat, inline edit, review, terminal, embeddings, providers, team connection.
src/webview The sidebar (React).
src/protocol The wire protocol between the extension and a gateway, and the WebSocket peer protocol for pooled computers.
src/gateway The gateway: routes, keys, usage, licensing, admin page, plugins. Built into packages/twinny-server/cli.js.
src/licensing Licence token verification (the signing side is private).
packages/twinny-server The npm package and Docker files for the gateway.
deploy/helm Helm chart for Kubernetes.
docs The operator reference for the gateway and design notes.

Contributing

Issues and pull requests are welcome on GitHub. Describe a larger change in an issue first. CONTRIBUTING.md has the build and test steps; the suite runs headless with xvfb-run -a npm test. Questions go to discussions or @twinnydotdev.

Support twinny

twinny is free and open source, written and maintained by one person since 2023. If it earns its keep, a team licence is the best way to support it.

License

MIT. twinny is actively developed and provided as is.

Frequently asked questions

Is twinny free to use?

twinny is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does twinny do?

Open-source AI coding assistant for VS Code. Code completion, chat, edits and reviews with local or hosted models. Your models, your infrastructure.

What is twinny written in?

twinny is primarily written in TypeScript. Its source is publicly available at https://github.com/twinnydotdev/twinny, and it has 3,650 GitHub stars.