Open source. Built in Rust. MIT licensed.

Sinew. — Sinew is the open-source coding harness you shape. Every tool the agent calls, every prompt it follows, every mode it runs in is editable from a Settings panel. Bring your own model through Claude, ChatGPT, Gemini, Kimi or OpenRouter. Available on macOS, Windows and Linux. MIT-licensed, written in Rust.

The coding harness you shape.

Every tool the agent calls, every prompt it follows, every mode it runs in — all editable from the Settings panel. Bring your own model.

Download for Mac.dmg

Free · macOS, Windows, Linux

Editable harnessTools, prompts and modes you rewrite.
Open sourceMIT-licensed, on GitHub.
Bring your model5 providers, OAuth or API.
Cross-platformmacOS, Windows, Linux.
01Why

A harness you actually shape.

Most agentic IDEs ship a sealed harness — fixed tools, fixed prompts, a fixed loop. Sinew exposes all of it in Settings.

Switch any tool off and the model never learns it existed. Edit the description it reads for any tool and your version replaces the default. Rewrite the system prompt for any of the three modes. All from the Settings panel, without forking the app.

Drop an AGENTS.md at the root and Sinew injects it into every request. Same for DESIGN.md, same for any skill under .agents/skills/. The harness is shaped by you, not by us.

Providers05
Modes03
Tools20+
02Modes

Three levels of autonomy.

The agent runs in one of three modes. Each has its own model and its own system prompt.

01Default

Act

Turn-by-turn execution.

The agent works turn by turn, reading files, running commands and editing code. Every file change is shown as a diff in the conversation before it lands.

02Read-only

Plan

A Q&A loop, never writes.

The agent explores the codebase and asks you one question at a time. It only writes the plan when you click Send and stop questions.

03Autonomous

Goal

Runs until the goal is met.

The agent keeps running turn after turn, sometimes for hours, until the goal is reached. Context auto-compacts when the window fills so it does not lose track.

A common setup is a thinking model for Plan, a fast model for Goal, and a balanced one for Act.

03Sign in

Five providers, one app.

OAuth on Anthropic, OpenAI, Google and Moonshot — Sinew uses the subscription you already pay for. OpenRouter takes an API key for pay-per-call across hundreds of models.

Claude/ChatGPT/Gemini/Kimi/OpenRouter
AnthropicOAuth

Claude

  • Sonnet, Opus, Haiku
  • Extended thinking
  • Max or Pro
OpenAIOAuth

ChatGPT

  • GPT-5 and GPT-5 Codex
  • Reasoning levels
  • Plus or Pro
GoogleOAuth

Gemini

  • Gemini 3 Pro
  • Thinking levels
  • Google AI plan
MoonshotOAuth

Kimi

  • Kimi for Coding
  • Tool-native
  • Kimi plan
OpenRouterAPI key

All the rest

  • Hundreds of models
  • Pay per call
  • One API key
04Harness

Every tool. Every prompt. Editable.

Inside the Settings panel: toggle any tool, rewrite the description the model reads, or swap the system prompt per mode — for the main agent and for swarm teammates.

Toggle

Disable any tool and the model never learns it existed.

Rewrite

Edit the description the model reads for each tool. Add conventions, pitfalls, or anything else worth knowing.

Modes

Each mode (Act, Plan, Goal) has its own system prompt in Settings.

Conventions

Drop an AGENTS.md in the workspace and Sinew injects it into the system prompt.

Scopes

Two independent harnesses: one for the main agent, one for swarm teammates.

Restore

One click to roll any of it back to the shipped defaults.

05Toolbox

Twenty first-class tools.

Each one designed to give the model a focused, structured output. Any tool can be switched off or have its description rewritten.

Surface area
20+
first-class tools

A focused set, each with a structured output the agent can rely on. Same harness rules: any tool can be switched off or have its description rewritten.

Shell

Shell access.

bash runs a one-shot command. bash_input drives an interactive session, so the agent can use vim, REPLs, or a dev server.

Reads

Bounded reads.

read requires a limit on every call. The agent has to declare how many lines it wants.

Search

File search.

Glob and Grep are backed by ripgrep, with output_mode, unique and exclude_pattern.

Writes

Diff-based writes.

apply_patch is the only tool that writes to the filesystem. Codex-style unified diffs, add/edit/delete/rename across files in a single atomic call. The UI renders the diff as it lands.

Web

Web access.

WebSearch runs through LinkUp (synthesized answer with cited sources) or Exa (classic list). WebFetch converts any URL into clean Markdown.

Swappable provider
Images

Image generation.

CreateImage uses GPT Image 2 or Nano Banana 2 — useful for mocking a UI or sketching a diagram in-conversation.

Swappable provider
Tasks

Persistent to-do.

The ToDoList state is reinjected at every turn — the latest version is always in front of the model. Important on long Goal runs.

Questions

Inline questions.

Question sends single- or multi-choice prompts in the chat. Used when guessing is more expensive than asking.

06Clean context

The agent prunes its own context.

Something other agentic harnesses do not currently expose to the model.

On any turn, the agent can call clean_context to discard tool results that led nowhere a Glob returning hundreds of paths, a read of the wrong file, a search that came up empty. Each removed result is replaced by a short placeholder, so the agent knows it threw something away.

Only the current turn is affected, which keeps the prompt cache intact: subsequent calls still hit the cached prefix at the cheaper rate.

Over long Goal runs, the difference adds up. Without it, dead exploration accumulates. With it, the agent keeps a clean working set without starting over.

07Swarm

A flat team of agents.

Sinew can run a team of 2 to 8 agents on the same workspace, organized as peers rather than as a lead and sub-agents.

State

Visible to everyone.

Each teammate's system reminder contains the full team state every turn — who is running, who is idle, the task board, the most recent edits.

Messages

Reminder-delivered.

SendMessage posts a DM or a broadcast that lands at the start of the recipient's next turn.

Dependencies

Task blocking.

A task can be marked as blockedBy another. The board unblocks it automatically when its prerequisite completes.

Profiles

Sub-agent profiles.

Each teammate can inherit a pre-configured sub-agent profile, with its own prompt and its own model.

08Extend

Three ways to add capability.

All lazy-loaded — nothing weighs on the prompt until the agent decides to use it.

  1. ALazy-loaded

    Skills

    Reusable Markdown instructions the agent can pull in when relevant.

    A skill is a folder containing a SKILL.md file, placed in .agents/skills/ (with the project) or ~/.agents/skills/ (yours). The format matches the Claude Agent Skills convention.

  2. BLazy-loaded

    MCP

    Any Model Context Protocol server exposes its tools to the agent.

    Sinew presents the model with a compact catalog of available MCP tools. The full schema is loaded only when the agent calls LoadMcpTool, which keeps the prompt small with several servers connected.

  3. CReusable

    Sub-agents

    Pre-configured agents with their own model and system prompt.

    Each sub-agent is defined in Settings (name, description, prompt, model). The main agent gets one subagent_<id> tool per enabled sub-agent. The same definitions can also be assigned to teammates in a swarm.

09Memory

Compaction and rollback.

Long conversations are handled by automatic compaction when the context fills, and per-turn checkpoints you can rewind to.

When the context window fills, Sinew summarizes the older parts of the conversation so the agent can keep going. The same compaction can be triggered manually, with an optional steering note (e.g. keep what concerns the auth refactor) when you want the summary focused on a particular thread.

Each turn also writes a checkpoint. Click any past user message in the chat to preview every file the agent has touched since, then choose whether to revert those files or keep them while trimming only the chat history.

Auto-compactRuns automatically when the context window fills. Older parts are summarized so the agent can keep working.
ManualTriggered by you, with an optional steering note for a more focused summary.
RollbackClick any past user message to preview the file changes since, then choose to revert the workspace or only trim the chat history.
Context window62%
fillsummarizeresume
10Open source

Free and open.

Sinew runs locally and is released under the MIT license. Written in Rust.

The whole app runs on your machine and talks to your model provider directly. The project does not have a paid tier hidden behind the current one.

The code is on GitHub, and the repo is the one I work in day to day. Issues and pull requests are welcome.

11Made by

Rayane.

Sinew is built by one person, in public. Reachable on X.

I build Sinew solo. It is local-first and fairly opinionated. Follow along while it grows.

Bug reports, ideas, and DMs are welcome. Most of the roadmap lives on my timeline.

Begin.

Open a folder, sign in, start a conversation.

Download for Mac.dmg
macOS · Windows · Linux