lsh · the LogiShell terminal
Just a terminal.
A good one.
lsh is a small native terminal for macOS, Linux and Windows. Your login shell, Claude Code and Codex as they are, nothing wrapped. Sign in once and the same shell is part of LogiShell.
01 · download
One file for your system.
Your login shell in a real PTY, nothing in the way. One palette (⌘K on macOS, Ctrl+Shift+P elsewhere) clears, restarts, copies, pastes and zooms. Shortcuts never take a Ctrl chord your shell needs. Signed in, the same shell is part of LogiShell: LOG sees it, your phone sees it.
Preview builds. A button appears only for a file that is on the release channel (dl.lsh.dev), with its SHA-256. The macOS build is signed and notarized; the Linux packages and the Windows installer are not code signed yet.
$ claude Claude Code in your own shell, nothing wrapped ✓ this shell is part of LogiShell · studio ⌘K palette clear · restart shell · copy paste · zoom in · zoom out the shell ended · press Enter for a new one
02 · inside
lsh, the command, comes with it.
The terminal carries the lsh command line. Want only the command, on a server or in CI? One line, no administrator rights.
curl -fsSL https://cli.lsh.dev/install.sh | sh
$ curl -fsSL https://cli.lsh.dev/install.sh | sh ✓ lsh installed to ~/.local/bin checksum verified, no sudo $ lsh login code K7Q-4MX ✓ this machine: build-01
03 · map
Blocks, not a file tree.
One command reads packages, files and, with --depth sym, what every symbol calls. Names come from your own paths. Nothing is guessed: what it could not prove, it says it could not prove.
lsh scan .the map, as markdown or--format jsonlsh project-mapcode by language and directory, and what was never built--openthe same report, in your browser
$ lsh scan . # site · repository map 1 packages · 23 files · languages: ts depth `file` · 0 proven · 24 unproven ## Verdict Imports reach fetch, node:child_process and node:fs: that is where the risk lives. ## Run it read from the manifests, nothing guessed - npm run build - npm run test
04 · verify
Verdicts your agent cannot sign itself.
A person writes down what must stay true. lsh checks the code against it, the same way every time, and caches the answer by hash. The tool that writes code never confirms its own contract: confirmation is a human act in the terminal.
lsh blocks verifya draft reaches the shelf only with every test greenlsh blocks shelfwhat is proven here, and how often it is reusedlsh product checkred the moment the registry stops matching the tree
$ lsh blocks verify refund.yaml ✓ refund.amount never exceeds charge ✓ refund never logs card data ✗ refund is idempotent by key second call wrote a new row nothing written · 2 of 3 green fix the red test, run it again
05 · door
One door for every agent.
Claude Code, Codex or your own harness: lsh mcp serve gives them the map, the decisions and the other sessions of the same repo. Sign the machine in once and LOG sees it from your phone.
lsh logina short code and a QR, this machine gets its own tokenlsh mcp servethe local door for this working copy, over stdiolsh claude mode installthe LogiShell mod for Claude Code
$ lsh login code K7Q-4MX confirm it where you are already signed in ✓ signed in as you · this machine: studio $ lsh mcp serve door open over stdio · map, decisions, sessions
06 · sdk
Build on it.
@logishell/sdk is a thin typed fetch client for the LogiShell block registry and orchestrator APIs. No runtime of its own, ESM, works in Node, Workers and the browser.
// TypeScript, ESM import { createClient } from '@logishell/sdk'; const client = createClient({ registryUrl, orchestratorUrl, token }); const blocks = await client.blocks.list();
lsh, in five answers
What is lsh?
lsh is the terminal of LogiShell. It comes as a small native terminal app and as the lsh command line, which reads a repository as a map of blocks, checks code against contracts a person confirmed, and opens one door for coding agents such as Claude Code and Codex.
How do I get the lsh terminal?
Download it above: a signed and notarized .dmg for macOS on Apple silicon, a .deb and an AppImage for Linux, and an installer for Windows. Every file is listed with its SHA-256.
How do I install the lsh CLI?
Run curl -fsSL https://cli.lsh.dev/install.sh | sh in a terminal, or irm https://cli.lsh.dev/install.ps1 | iex in PowerShell. Without installing anything you can also run npx logishell scan . in any repository.
Does lsh work with Claude Code and Codex?
Yes. lsh mcp serve exposes the map, decisions and sessions of a working copy to any MCP client over stdio, and lsh claude mode install adds the LogiShell mod to Claude Code.
Which systems does lsh run on?
macOS, Linux and Windows, for both the terminal app and the CLI. CLI binaries and checksums for every target are on cli.lsh.dev.
Short links
lsh.dev is the short door. Type less.