ChainLayerTwo

v0.11.0 Signed releases. Runs on your machine.

The coding agent that stays in your terminal.

It reads, edits and runs code in your project. It brings its own model, which runs on your computer, so it works without an account, a key or a network.

Windows PowerShellirm https://chainlayertwo.online/install.ps1 | iex
macOS and Linuxcurl -fsSL https://chainlayertwo.online/install.sh | sh

Needs Node 20 or newer. Check the signature first What it installs

Hosted models: — Gateway reachable — over 30 days Live from the public stats API. All stats
01

Its own model, on your machine.

ChainLayerTwo 2B ships with the CLI and runs through Ollama, on a CPU if that is all you have. chainlayertwo localmodel setup checks the machine, picks the size that fits and proves it with a real tool call. Ollama, llama.cpp, LM Studio, DeepSeek, Kimi and Anthropic work too.

About the model
02

Guardrails are the product.

A sandbox, an approval gate that fails closed, and one step and tool budget that every sub-agent shares. No flag, mode or tool exists to weaken them.

The safety model
03

A crash does not cost you the turn.

Every turn is written to a journal while it runs. After a crash or a closed terminal, the next launch offers /retry and picks up where it stopped.

See a real run

Install, check, run.

  1. Run the one line for your systemThe installer downloads cli.js, checks it against the SHA-256 in version.json, and installs nothing if they disagree. It asks one question: Client (just the CLI, the default) or Host (also runs a model gateway and tool gateway here). Which one?
  2. Get a modelchainlayertwo localmodel setup installs ChainLayerTwo 2B, or another model that fits, and makes it the default. Just the model: chainlayertwo localmodel install.
  3. Start in your project folderchainlayertwo opens a session; chainlayertwo "add tests to ./src" runs one task. chainlayertwo login links an account with a code you approve in the browser, if you want one.

Already installed? chainlayertwo update, or /update in a session, installs ChainLayerTwo 0.11.0.

Hosted models are down

The hosted gateway at chainlayertwo.online/v1 answers, but it has no working model backends right now, so nothing behind it completes a request. A new install still points there, so run chainlayertwo localmodel setup next. When the gateway refuses, a session falls back to a running local model and says so.

Check the installer’s signature before you run it

Every release signs the installers with an Ed25519 key. These lines download the installer and its signature, check it with Node (which the CLI needs anyway), and run it only if the signature checks out. The CLI’s own updates check the same signature.

Windows PowerShell
irm https://chainlayertwo.online/install.ps1 -OutFile install.ps1
irm https://chainlayertwo.online/install.ps1.sig -OutFile install.ps1.sig
node -e "const c=require('crypto'),f=require('fs'),n='install.ps1';const k=c.createPublicKey({key:Buffer.from('MCowBQYDK2VwAyEARNHc7QP7OkJ5EP6f9u+ivR4ifrFwCLVPg7LLVDDbe28=','base64'),format:'der',type:'spki'});const ok=c.verify(null,f.readFileSync(n),k,Buffer.from(f.readFileSync(n+'.sig','utf8'),'base64'));console.log(ok?'Signature OK':'BAD SIGNATURE - do not run it');process.exit(ok?0:1)"
if ($?) { Get-Content .\install.ps1 -Raw | iex }
macOS and Linux
curl -fsSLO https://chainlayertwo.online/install.sh
curl -fsSLO https://chainlayertwo.online/install.sh.sig
node -e "const c=require('crypto'),f=require('fs'),n='install.sh';const k=c.createPublicKey({key:Buffer.from('MCowBQYDK2VwAyEARNHc7QP7OkJ5EP6f9u+ivR4ifrFwCLVPg7LLVDDbe28=','base64'),format:'der',type:'spki'});const ok=c.verify(null,f.readFileSync(n),k,Buffer.from(f.readFileSync(n+'.sig','utf8'),'base64'));console.log(ok?'Signature OK':'BAD SIGNATURE - do not run it');process.exit(ok?0:1)"
[ $? -eq 0 ] && sh install.sh

The last line runs the installer only after Signature OK, so pasting the whole block is safe. The public key is the one built into the CLI.