Elanous

Blog · 2026.09.28

It drives the terminal itself

Terminals, tools and the lowest rung first

Most agents that touch your machine do it through a tool call you never see: a function that runs a command and hands back text. Elanous does something plainer. It opens a real terminal, types into it, reads the screen, and decides what to type next.

엘라누스는 보이지 않는 도구 호출 대신 진짜 터미널을 열어 치고, 화면을 읽고, 다음에 칠 것을 정합니다. 첫 질문은 «어느 AI 에게»가 아니라 «이 일을 끝내는 가장 작은 것»입니다.

The Terminal tab showing two terminals side by side. Each has a header naming the run that drives it and two lines of its latest decisions, such as 'ROUTE awk instead of jq' and 'VERIFY S2 output check — frames=100', above the live screen (the bands read in Korean on screen).
Two jobs side by side in the Terminal tab. Above each screen: the last two decisions of whatever is driving it — what, why, where to.

A ladder, lowest rung first

That changes the first question it asks. Not "which AI should do this?" but "what is the smallest thing that finishes this?" Before anything runs, Elanous looks at the machine it is on — operating system, shell, package managers, the command-line tools present — and picks the lowest rung that can finish the job.

RungWhat it usesExample
1Shell and text toolsjq, awk, ffmpeg
2A tool that already knows the answergh, git, elanous logs
3What Elanous itself providesmemory, logs, notes
4The Elanous harnessa code change with gates, review and a pull request
5An outside coding agenta large build, or a second pair of eyes

You can ask it without running anything: elanous agent-mission plan "sum the amounts in this CSV as JSON" answers rung 1 · jq · text conversion starts with shell tools.

Missing tool? It types the install — unless it needs you

If the rung needs a tool the machine doesn't have, Elanous types the install line for that machine into the terminal, waits for it to finish, and then checks the tool the only way that counts: by doing the smallest real job with it. jq has to turn {"a":1} into 1; a version number is not proof.

One line it never types: anything with sudo. That line goes to you, with the exact command, and the run carries on with what it can do without it.

What it did today

We ran the jobs end to end in a fresh terminal — on a Mac, and on a brand-new cloud machine with nothing but the operating system (deleted afterwards). The table is copied from the runs.

WhereJobWhat happenedResult
MacSum a CSV as JSONrung 1 · jq already theretotal 6425 · 6.1 s
MacFirst 10 s of a video as a GIFrung 1 · ffmpeg already there100 frames · 6.9 s
Mac, package tools hiddenSame GIFtyped brew install ffmpeg; brew wasn't on the pathsaid so, with the last lines of the screen
Bare Ubuntu VMSame GIFthe install line needs sudo — not typed, handed to a personstopped for a human
Bare Ubuntu VM, jq removedSum a CSV as JSONjq needs sudo → switched to awk on the same rungtotal 6425 · 2.1 s

The last row is the one we like: it didn't wait for you when a tool it already had could do the job.

One terminal on the Mac with jq deliberately hidden: the smoke check fails, the machine is detected as Darwin, 'brew install jq' is typed and fails, and the job is done with awk. Above the screen: 'ROUTE awk instead of jq' and 'VERIFY S1 output check — total=6425' (the bands read in Korean on screen).
The same fallback on the Mac, with jq hidden on purpose: the install it typed failed, so it finished with awk — and the band above the screen says why.

What running it for real caught

The install step had passed all of its tests. The first real run on a Mac failed anyway: the line it typed to detect the operating system used a shell construct that macOS's default /bin/sh misreads. Fake terminals in tests don't have that shell; a real one does. We fixed it, pinned it with a test, and kept the scenario runner so every change to this path gets a real terminal, not just a mock.

Watch it, take it over

Every terminal Elanous drives shows up in the web app's Terminal tab. Side by side puts up to three next to each other, each with the run that drives it and an intent band — its last two decisions. If you want the keyboard back, take it over; Elanous stops typing until you release it.

One terminal converting the first 10 seconds of a video to a GIF with ffmpeg. Above the screen: 'VERIFY ffmpeg install check — ffmpeg smoke passed' and 'VERIFY S2 output check — frames=100' (the bands read in Korean on screen).
The video job: a smoke check proves ffmpeg works, one line does the job, and the result is measured — 100 frames.

Try it

elanous env profile
elanous agent-mission plan "turn the first 10 seconds of in.mp4 into a GIF"

Elanous launches 2026.10.28. Read Watch the agent think, or see how a run goes round on elanous.ai.