2026-10-11 16:38 UTC

racetozero claims the released KISS harness โ€” a Rust, Pi-inspired terminal coding agent supporting 44 providers, embeddable through Rust/Python/TypeScript/WASM SDKs that run the full agent loop including in-browser, with opt-in Jev compaction and dynamic reasoning โ€” gives builders a fast, lightweight, embeddable alternative to heavyweight coding-agent harnesses.

state: seedheat: lowuncertainty: mediumknownscott: lowagent-harnesses rust browser-embedded-agentsracetozero

What is this?

KISS is a Show HN release by racetozero: a Rust terminal coding agent harness explicitly inspired by Mario Zechner's Pi, claiming 44-provider support and embeddability via Rust/Python/TypeScript/WASM SDKs that run the full agent loop โ€” including in-browser โ€” with opt-in 'Jev' compaction and dynamic reasoning. The supplied search results contain no direct coverage of KISS or racetozero; they establish the landscape it enters: Pi's minimal-harness lineage is already spawning Rust siblings and forks (rho-coding-agent by matthewyjiang, oh-my-pi/omp going maximal), 'embeddable agent loop as SDK' is a recognized 2026 category (Claude Agent SDK, Pi's SDK modes, fx for browser-WASM experiments), and performance-vs-Claude-Code/Codex is a standard launch claim in this space. Caveat: the 44-provider, WASM-in-browser-loop, and Jev-compaction specifics rest on the release's own claims โ€” the snippets neither confirm nor contextualize them, and 'Jev' is not explained anywhere in the supplied material.

Why it matters to Scott

Known: every position KISS advances is already carried in Scott's canon โ€” ip:concept.earned-complexity (minimal harness first), ip:concept.model-barbell (provider control over vendor lock-in), ip:framework.context-engineering (compaction as context discipline) โ€” and he already operates this exact tool-shape himself as dev:project.ask behind his LiteLLM gateway. The two would-be differentiators (full agent loop embeddable in-browser via WASM, and 'Jev' compaction โ€” unexplained anywhere in the supplied material) are first-party claims on a zero-engagement cold seed, and the grounding shows embeddable SDK loops are already an established category (Claude Agent SDK, fx), so this is the world re-deriving his tooling shape rather than news for him. It would only move if independent use verified the in-browser loop or clarified what Jev compaction actually does.
dev:project.askip:concept.earned-complexityip:concept.model-barbellip:framework.context-engineeringradar:person.piradar:concept.agent-harnessesradar:concept.browser-agentsradar:concept.wasmradar:concept.rustradar:concept.model-routingradar:concept.context-compactionradar:vercel-fx-native-coding-agentradar:maskshift-local-coding-agent-harness
queries asked of Scott's wikis
  • Pi minimal harness philosophy agent loop design
  • embeddable agent loop SDK in-browser WASM
  • context compaction session summarization agent memory
  • multi-provider model routing bring-your-own-key coding agent
  • harness performance benchmarks startup memory throughput claims
  • coding agent harnesses built in Rust

Measured heat

now 0 pts/hpeak 0 pts/hcomments 0/hpeers p14momentum: steady2 platformsage 376h
points/hour across evidence ยท reading as of 2026-10-12 02:59:37.977291+11:00 ยท deterministic, not a model opinion

How the heat travelled

09-26 00:25 (minted)โญ origin echo-reconstructedREADME/release: "A fast terminal coding agent that keeps the interface simple and gives you control of the model, tools, sessions, and autom
racetozero on github (echo) ยท attributed from hn.story.49851739 ยท published time unknown
โ€”
09-26 00:05first on hacker news ยท published ยท lag ?Show HN: KISS โ€“ A highly performant agent harness inspired off Pi built in Rust
racetozero
โ€”
09-26 00:05amplified on hacker news ๐Ÿ‘‘hn.story.49851739
racetozero
peak 2 ยท 2 comments ยท 98% of case engagement
09-26 00:20our radar first saw it ยท lag ?discovery anchor: hn.story.49851739โ€”
pace: p36 vs 1032 stories at the 336h mark (now 376h old) โ€” ahead of agentgate-signed-agent-receipts (1.3x), behind agent-memory-add-search-evaluation (0.8x)

Evidence (2) โ€” โญ canonical anchor

sourceobjectauthorscorecomments
๐ŸŸง hnShow HN: KISS โ€“ A highly performant agent harness inspired off Pi built in Rust
Retrieved article excerpt

Open article ยท Retrieved 2026-09-26T00:24:08.560848+00:00

# KISS

[image](https://private-user-images.githubusercontent.com/322226193/656143726-08e96d6e-7409-419b-b9db-0149f2465083.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTAzODI1NDgsIm5iZiI6MTc5MDM4MjI0OCwicGF0aCI6Ii8zMjIyMjYxOTMvNjU2MTQzNzI2LTA4ZTk2ZDZlLTc0MDktNDE5Yi1iOWRiLTAxNDlmMjQ2NTA4My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwOTI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDkyNlQwMDI0MDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZTBjNDI3YWJmMGY0ZGEwNWRkMGNhMzJiOGYyZTExMDdlNjRiNTFiNjFlMjE5MGY5MDczY2JkNmRmMTZiNTQzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.eb-zaSsAQaIe0LGJnbwnifzRuIQ6NngiC1HfsX1lCQs)

A fast terminal coding agent that keeps the interface simple and gives you
control of the model, tools, sessions, and automation.

KISS has 44 built-in providers, including OpenAI Codex (ChatGPT Subscription), OpenAI API, Anthropic OAuth (Claude Subscription), Anthropic API, Meta Muse, Cursor,
Google, OpenRouter, Bedrock, Databricks, Snowflake, and GitHub Copilot. You can also add
OpenAI-compatible providers.

KISS is built in Rust and based on
[Pi](https://github.com/earendil-works/pi).

KISS takes its name and product philosophy from [Keep It Simple, Stupid](https://en.wikipedia.org/wiki/KISS_principle).
Why? Because I am stupid :)

## Why KISS

- **Start quickly.** The native terminal interface reaches its first warm frame
  in about 5 ms.
- **Keep your work.** Resume, branch, compact, import, and export persistent
  sessions.
- **Use your preferred model.** Choose from more than 1,000 catalog models or
  add your own compatible provider.
- **Automate long tasks.** Run scheduled loops, measured autoresearch, parallel
  subagents, and dynamic workflows.
- **Connect your tools.** Use local and remote MCP servers, including OAuth
  servers.
- **Build on it.** Embed KISS through Rust, Python, TypeScript, WebAssembly,
  JSONL RPC, or WebSocket RPC.

KISS uses four focused tools by default: `read`, `write`, `edit`, and `bash`.
Catppuccin Mocha is the default dark theme.

## Install

macOS and Linux:

```
curl -LsSf https://raw.githubusercontent.com/racetozero/kiss/main/install.sh | sh
```

Windows, including ARM64:

```
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/racetozero/kiss/main/install.ps1 | iex"
```

The installer selects the correct release, verifies its SHA-256 checksum, and
installs `kiss` in your user binary directory. On Linux, if the glibc
release needs a newer `GLIBC_*` version than the system provides, it
automatically installs the matching musl release. The macOS/Linux installer
adds `~/.local/bin` to your shell's startup file (bash, zsh, fish, or sh) so
new terminals can run `kiss`. Open a new terminal after installing, or run
`~/.local/bin/kiss` immediately.

Update later with:

```
kiss update
```

## Start in two commands

Sign in with a ChatGPT subscription and open KISS:

```
kiss login openai-codex
kiss
```

For a server or SSH session:

```
kiss login openai-codex --device-auth
```

Anthropic login and credential import are also available:

```
kiss login anthropic
kiss auth import
```

Use the interactive terminal or run one task:

```
kiss "explain this repository"
kiss -p "summarize the current changes"
cat error.log | kiss -p "find the cause"
```

## Work in the terminal

- Type `/` to find commands.
- Type `@` to find and attach files.
- Type `!command` to run a shell command.
- Press `Shift+Tab` to change reasoning effort.
- Press `Esc` or `Ctrl+C` to stop active work.
- Press `Ctrl+R` to expand or collapse long tool results.
- Press `Ctrl+D` on an empty input to exit.
- Use the Up arrow to restore earlier prompts.

KISS renders bold Markdown, cyan underlined terminal links, bare web links, and
syntax colors for fenced code.

Send a new instruction while the agent works. Press `Enter` to steer the
current task, or `Alt+Enter` to queue the instruction for later.

Useful commands include `/login`, `/model`, `/mcp`, `/compact`, `/resume`,
`/loop`, `/autoresearch`, `/jobs`, `/provider`, `/export`, `/cache-usage`,
`/bug`, `/fast`, `/update`, `/settings`, and `/hotkeys`.

Use `/fast` to toggle the low-latency tier for a supported provider. This
setting applies only to the current session, and provider costs can increase.
Use `/update` to update the installed KISS binary.

### Track cache efficiency

Prompt caching can reduce the cost of repeated context. KISS shows the current
cache rate beside the session cost, so you can see when a workload benefits.

Run `/cache-usage` to see the current session trend. Use `/cache-usage all` to
check whether cache efficiency improves across saved sessions, or
`/cache-usage <provider>` to compare one provider. Every chart uses the same
scale, so changes are easy to compare.

Use the same report in scripts and CI:

```
kiss cache-usage
kiss cache-usage --provider anthropic
kiss cache-usage --session <session-id-or-jsonl-file>
```

KISS also protects valuable prompt caches during long-running work when a
refresh is expected to save money. This is automatic. Set `cacheWarming` to
`off` to disable refreshes, or to `idle` to protect the cache while you decide
what to do next. Model-aware context management and bounded retry delays keep
long sessions responsive without routine tuning.

### Experimental Jev options

KISS also offers two opt-in [Jev](https://typesafe.ai/) features in `/settings`:
**Compaction method โ†’ Jev** selects older tool interactions to keep, truncate,
or remove instead of using summary compaction. **Dynamic reasoning โ†’ Jev**
selects reasoning effort for supported reasoning models instead of using a
fixed effort. Run `/login` and select **TypeSafe** to sign in. You can also
run `/login typesafe` directly or set `TYPESAFE_API_KEY`. Both features
send conversation context to Jev. The default settings remain summary
compaction and fixed reasoning effort.

[image](https://private-user-images.githubusercontent.com/322226193/657977821-3a3ce46e-3b70-49ce-ba7c-d02996a64630.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTAzODI1NDgsIm5iZiI6MTc5MDM4MjI0OCwicGF0aCI6Ii8zMjIyMjYxOTMvNjU3OTc3ODIxLTNhM2NlNDZlLTNiNzAtNDljZS1iYTdjLWQwMjk5NmE2NDYzMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwOTI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDkyNlQwMDI0MDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hYjg3ZDc5ZDYyNjkzYmU5Mjk1Y2E4NzgzNjA2NGM2NGZkMjQ4MTI2MzkwY2ZlYTI5MmU0ODcxMGMxZTZhOWNhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.TLm4EydiNmxGOeiV7Ub54HbtCcX-KcL7Z3LIIB-XDi8)

## Continue work from another agent

Run `/resume` to continue a KISS, Pi, Claude Code, or OpenAI Codex session.
The picker starts with sessions from the current working directory. Press
`Ctrl+G` to switch between project and global results.

If KISS fails, run `/bug` to open the GitHub issue form. In a headless
environment, KISS prints
`https://github.com/racetozero/kiss/issues/new` instead.

## Automate long tasks

### Loop and autoresearch

Use a loop for repeated work. With no limit, it runs until the goal is complete
or you stop it:

```
/loop make the parser tests pass
```

Put an interval before the goal to wait between turns. The first turn starts
immediately. Compound intervals support days, hours, minutes, seconds,
milliseconds, microseconds, and nanoseconds:

```
/loop 15m check the deployment and fix new errors
/loop 2d4h review dependency updates
```

Use `--iterations` for a fixed number of turns:

```
/loop make the parser tests pass --iterations 8
```

Autoresearch establishes a baseline, tests one small change at a time, keeps
improvements, and reverts regressions. It is also unlimited by default:

```
/autoresearch reduce Markdown render time and verify it with the existing benchmark
/autoresearch reduce Markdown render time and verify it with the existing benchmark --iterations 20
```

A loop interval and `--iterations` are mutually exclusive. Autoresearch does
not accept an interval. The maximum explicit iteration limit is 100.

Each job branches from the current conversation into a persistent KISS
session. Run `/jobs`, `/loop` without a goal, or `/autoresearch` without a goal
to manage jobs.

| Key | Action |
| --- | --- |
| Up or Down | Select a job or scroll its latest result |
| Enter or Right | Open the selected job |
| `p` | Pause or resume between iterations |
| `x` | Stop the selected job |
| Escape or Left | Return or close the view |

### Subagents

Subagents let one task branch into focused child sessions. Open `/settings`
and set `Subagents` to `on`. KISS then gives the main agent tools to start,
guide, wait for, and stop child agents.

Each child uses the same working directory. KISS allows four active child turns
and one child level. Project settings cannot enable subagents, and `--no-tools`
keeps them off.

### Dynamic workflows

A dynamic workflow coordinates many child agents with a short generated
script. The script holds the plan, while only final results return to the main
conversation. Enable subagents first, then use:

```
/workflow audit every tool file for missing path checks
use a workflow to compare the provider adapters
```

Run `/workflows` to inspect, pause, resume, stop, restart, or save a workflow.
A saved workflow becomes a reusable slash command after `/reload`.

One workflow can start up to 1,000 agents, with 16 active at once. Workflow
scripts cannot read files, use the network, load modules, or start processes.
Only their child agents use KISS tools.

## Models and integrations

### Diagnose installation and network access

Run a full health report before you use a provider, or when a corporate
firewall stops a connection:

```
kiss doctor
kiss doctor --summary
```

The full report shows each provider connection type, host, port, HTTP result,
and elapsed time. It lists separate SSE, WebSocket, AWS event-stream, and login
destinations. You can send the failed rows to a network team as a firewall
allowlist request. The summary report shows one row for each provider.

Any HTTP status means that the destination is reachable. For example, `401`
is normal when the probe does not send a credential. `SKIP` means that the
provider needs local configuration, such as an Azure resource name or a Google
Cloud location. The command does not send a prompt, use provider credentials,
or create model cost. It checks reachability, not credential validity.

### Login and model selection

KISS supports browser and headless OAuth, API keys, environment variables, and
cloud credentials. It can import compatible credentials from OpenAI Codex,
Claude Code, Pi, OpenCode, OpenClaw, and Hermes.

```
kiss login openai-codex
kiss login anthropic --device-auth
kiss login anthropic --api-key YOUR_KEY
kiss auth
kiss logout openai-codex
kiss --list-models
kiss --model sonnet:high
```

Use a Cursor subscription through KISS's native HTTP/2 provider:

```
kiss login cursor
kiss --model cursor/auto
```

KISS talks directly to Cursor's Agent service. It does not start Cursor's
`agent` command, Cursor desktop, Node.js, Bun, or a local proxy. You can also
set `CURSOR_ACCESS_TOKEN` instead of saving a login. When Cursor is selected,
KISS refreshes the model list for the signed-in account and keeps a built-in
fallback list if discovery is not available.

Use Databricks Unity Gateway with a workspace token and URL:

```
kiss login databricks-unity-gateway \
  --api-key YOUR_TOKEN \
  --base-url https://your-workspace.cloud.databricks.com
kiss --list-models databricks-unity-gateway
kiss --model databricks-unity-gateway/system.ai.claude-sonnet-4-6
```

Azure D
racetozero22
๐ŸŸง echo.github โญREADME/release: "A fast terminal coding agent that keeps the interface simple and gives you control of the model, tools, sessions, and automracetozeroโ€”โ€”

Interpretation history

Decision trace