InitOrigin

02 / terminal · Apache-2.0

io-cli

Ek terminal agent jo kaam karte-karte dikhata rehta hai ki use kis baat ki ijaazat hai, kitna kharcha ho raha hai, aur usne kya mana kiya. Agent loop, providers, tools, sandbox aur session store — sab io-harness ke hain, yahaan dobara nahi likhe gaye.

from sourcegit clone https://github.com/initorigin/io-cli cargo build --release

Terminal aapse nahi cheenta

Koi alternate screen nahi, koi mouse capture nahi — kisi bhi mode mein, kisi bhi flag ke peeche. Search, selection aur tmux copy-mode chalte rehte hain, aur yeh badle to ek test build fail kar deta hai.

Approval wahi, jahaan poochi gayi

Likhne se pehle run rukta hai aur proposed diff dikhata hai. y, a ya n chuno aur Enter se confirm karo — isliye kisi sentence ke beech ka ek letter likhne ka faisla nahi kar sakta. 'Is session ke liye' usi act ko usi target pe yaad rakhta hai.

Aapki key, screen pe kabhi nahi

Wizard key ko live endpoint pe verify karta hai, file 0600 pe likhta hai, aur provider ka env var pehle se set ho to key kahin likhta hi nahi.

Kharcha, aur nateeja

/cost paisa aur token — run, session, model aur din ke hisaab se; /stats outcomes, first-try, gate failures aur latency. Kuch bhi andaaze se nahi.

Chhattis commands, chaar groups mein

ioBina subcommand, isi repository mein ek session khul jaata hai
/modelNext turn kis model ko jaaye, wo badlo — sirf is session ke liye
/resumePurana session kholo aur uska run jispe ruka tha, uska jawaab do
/statusPoori session state scrollback mein: policy layers, sandbox backend, caps, budgets, connections

Yeh aapka terminal nahi cheenta

io na alternate screen mein jaata hai, na mouse capture karta hai — kisi bhi mode mein, kisi bhi flag ke peeche. Har poora hua message, tool call aur system line terminal ke apne scrollback mein jaati hai; neeche ki kuch rows hi dobara paint hoti hain.

Isliye session khatam hone pe poori baatcheet wahi rehti hai: terminal ki search use dhoondh leti hai, tmux copy-mode scroll kar leta hai, mouse se select ho jaata hai — aur inmein se kuch bhi yahaan likha nahi gaya. tests/structure.rs har byte pakadta hai aur alternate-screen ya mouse-capture sequence dikhe to build fail kar deta hai.

Install

macOS · Linuxcurl -fsSL https://raw.githubusercontent.com/initorigin/io-cli/main/install.sh | sh
Windowsirm https://raw.githubusercontent.com/initorigin/io-cli/main/install.ps1 | iex
Homebrewbrew tap initorigin/io-cli https://github.com/initorigin/io-cli brew install initorigin/io-cli/io
Scoopscoop bucket add io-cli https://github.com/initorigin/io-cli scoop install io
From sourcegit clone https://github.com/initorigin/io-cli cargo build --release · binary at target/release/io · Rust 1.95+
cargo installNot a path. There is no crates.io publish — the distribution channel is the GitHub Release
IO_VERSION · IO_INSTALL_DIRInstall a specific version, or somewhere other than ~/.local/bin — %LOCALAPPDATA%\io\bin on Windows. Neither script needs administrator rights, and neither edits your PATH: if the directory is not on it, the script prints the line to add

Dono scripts aapki machine ke liye sahi build chunti hain, unpack karne se pehle SHA256SUMS se verify karti hain, aur aapki hi directory mein install karti hain — na administrator rights, na shell profile ya PATH mein koi badlav. Tap aur bucket isi repository mein rehte hain, isiliye brew tap aur scoop bucket add mein URL dena padta hai. crates.io pe publish nahi hai: source se banane ke liye Rust 1.95 ya upar.

Chhattis commands, chaar groups

the session

/clear · /resume · /fork · /profile · /contain · /setup · /exit

this turn

/model · /effort · /undo · /plan · /steer · /compact · /image · /copy · /copy diff · /commit

inspect

/help · /status · /context · /expand · /fleet · /skills · /cost · /stats · /store · /export

configure

/config · /theme · /remember · /memory · /mcp · /provider · /plugin · /gates · /import

Groups is baat se bane hain ki aap kya kar rahe ho, na ki harness ka kaunsa hissa jawaab deta hai — aur koi group das se upar nahi jaata. Inmein gyaarah chalti turn ke beech chal jaati hain, baaki mana kar di jaati hain: rule yeh hai ki command karti kya hai, dikhti kitni maasoom hai wo nahi.

Keys

Shift+TabChange the permission posture, from the next turn.
Esc EscAt an empty prompt, rewinds the last turn — its files, its memory and the conversation head.
Ctrl+FThe tree of children this turn has spawned, and what it is costing.
Ctrl+TCommit the last step’s full detail into the scrollback. Nothing here opens a pane.
Ctrl+CRefused in both spellings, deliberately.

argv surface

ioWith no subcommand, opens an interactive session. Global flags: -C, -m, --profile, --plain, on either side of a subcommand.
io setupThe first-run wizard: provider, credential verified against the live endpoint, model, posture, theme.
io exec "<goal>"One goal to completion with no terminal interaction. Takes --json, --sandbox, --policy, --provider.
io resumeCarries on a run that stopped for a question, a plan or an interrupted call; --list shows what is waiting.
io acpServes the Agent Client Protocol on stdio as newline-delimited JSON-RPC 2.0. stdout is the protocol. An image and an embedded resource are declared, so an editor can hand over the file you have open.
io mcp · plugin · config · skillManage MCP servers, capability bundles, configuration keys and skills from a shell — the same parse the slash commands use.
io upgradePrints the command that updates the binary you are running, for the way it was installed. It prints and does not run.

Exit codes

0 · OKThe run finished.
1 · FAILEDThe run failed, or the command line was not understood.
2 · REFUSEDDenied, refused, or the plan was rejected.
3 · CEILINGA step, time, cost or budget ceiling was reached, and nothing judged the work.
4 · PAUSEDWaiting on a question, a plan, an approval or an interrupted call — resumable with io resume, except an approval.
5 · UNFINISHEDThe run ended in a state the table does not name.
6 · UNVERIFIEDThe work was judged and did not hold up: a failed verification gate, or a run that never satisfied its output schema.

Platform support

aarch64-apple-darwinmacOS, Apple silicon · io-harness’s own sandbox-exec
x86_64-apple-darwinmacOS, Intel · as above
x86_64-unknown-linux-muslLinux, statically linked · Landlock, bwrap, namespaces, floor
x86_64-pc-windows-msvcWindows · Job Object, with AppContainer opt-in

Chaaron artifacts aur unke SHA256SUMS har GitHub Release ke saath hain, aur poora test suite CI mein Ubuntu, macOS aur Windows pe chalta hai. Command ko contain io-harness karta hai, yeh product nahi — io footer pe dikhata hai ki is host pe asal mein kaunsa backend chala, kyunki jo mode maanga gaya aur jo laagu hua, dono ek baat nahi hain.

Skills, paanch shipped

Har ek ek markdown file hai jise agent zaroorat pe padhta hai. Apni skills /skills ya io skill se jodo-hatao; naam frontmatter se aata hai, aur do same naamon mein baad wala haar jaata hai.

Guides