H
HN HRCB stories | rights | sources | trends | system | about
home / github.com / item 47165648
+0.16 just-bash: Bash for Agents (github.com)
103 points by tosh 11 hours ago | 62 comments on HN | Mild positive Product · v3.7 ·
Summary Privacy & Open Knowledge Neutral
A GitHub repository for just-bash, a TypeScript library providing a sandboxed bash environment for AI agents. The content demonstrates incidental structural alignment with human rights principles through privacy-by-design (default-deny network access, file system isolation), open-source publication enabling information access, and educational documentation, though human rights principles are not primary project concerns.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: +0.15 — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.20 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.10 — Education 26 Article 27: +0.15 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.16 Unweighted Mean +0.15
Max +0.20 Article 19 Min +0.10 Article 26
Signal 4 No Data 27
Confidence 8% Volatility 0.04 (Low)
Negative 0 Channels E: 0.5 S: 0.5
SETL 0.00 Balanced
FW Ratio 60% 12 facts · 8 inferences
Evidence: High: 1 Medium: 2 Low: 1 No Data: 27
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.15 (1 articles) Personal: 0.00 (0 articles) Expression: 0.20 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.13 (2 articles) Order & Duties: 0.00 (0 articles)
HN Discussion 13 top-level · 15 replies
gaigalas 2026-02-26 15:01 UTC link
https://github.com/vercel-labs/just-bash/blob/main/src/spec-...

That's a lot of incompatibilities.

LLMs like to use the shell because it's stable and virtually unchanged for decades.

It doesn't need to worry much about versions or whether something is supported or not, it can just assume it is.

Re-implementing bash is a herculean effort. I wish good luck.

jpitz 2026-02-26 15:16 UTC link
Just curious: why wouldn't you attack this with a jail?
IceWreck 2026-02-26 15:18 UTC link
At this point why not make the agents use a restricted subset of python, typescript or lua or something.

Bash has been unchanged for decades but its not a very nice language.

I know pydantic has been experimenting with https://github.com/pydantic/monty (restricted python) and I think Cloudflare and co were experimenting with giving typescript to agents.

huntaub 2026-02-26 15:18 UTC link
We just released a driver that allows users of just-bash to attach a full Archil file system, synced to S3. This would let you run just-bash in an enrivonment where you don't have a full VM and get high-performance access to data that's in your S3 bucket already to do like greps or edits.

Check it out here: https://www.npmjs.com/package/@archildata/just-bash

Lerc 2026-02-26 15:22 UTC link
I have been playing around with something like this.

I'm not going for compatibility, but something that is a bit hackable. Deliberately not having /lib /share and /etc to avoid confusion that it might be posix

On neocoties for proof of static hosting

https://lerc.neocities.org

RobertLong 2026-02-26 15:32 UTC link
This ends up reading files into node.js and then running a command like grep but implemented in JS. I love the concept but isn’t this incredibly slow compared to native cli tools? Building everything in JS on top of just readFile and writeFile interfaces seems pretty limited in what you can do for performance.
_pdp_ 2026-02-26 15:47 UTC link
Interesting concept but I think the issue is to make the tools compatible with the official tools otherwise you will get odd behaviour. I think it is useful for very specific scenarios where you want to control the environment with a subset of tools only while benefiting from some form of scripts.
dostick 2026-02-26 16:13 UTC link
Why couldn’t they name it `agent-bash` then? What’s with all the “just-this”, “super-that” naming? Like developer lost the last remaining brain cells developing it, and when it’s came to name it, used the first meaningless word that came up. After all you’re limiting discovery with name like that.
jeffchuber 2026-02-26 16:25 UTC link
last weekend I vibe-coded a project called `openfs` that plugs into just-bash

https://github.com/jeffchuber/just-bash-openfs

it puts a bash interface in front of s3, filesystem (real and in-memory), postgres, and chroma.

still very much alpha - but curious what people think about it.

see an example app here: https://github.com/jeffchuber/openfs-incident-app

throwaway13337 2026-02-26 18:07 UTC link
The unix commandline tools being the most efficient way to use an LLM has been a surprise.

I wonder the reason.

Maybe 'do one thing well'? The piping? The fact that the tools have been around so long so there are so many examples in the training data? Simplicity? All of it?

The success of this project depends on the answer.

Even so, I suspect that something like this will be a far too leaky abstraction.

But Vercel must try because they see the writing on the wall.

No one needs expensive cloud platforms anymore.

CuriouslyC 2026-02-26 18:25 UTC link
Trying to secure the sandbox the harness is running in seems like the hard way to do things. It's not a bad idea, but I think it'd be easier to focus on isolating the sandbox and securing resources the harness sandbox accesses, since true security requires that anyhow.
rob 2026-02-26 19:02 UTC link
Web UI for it: https://justbash.dev
rbbydotdev 2026-02-26 21:33 UTC link
It’s cool to see this project and others pop up. Virtualizing os primitives like bash and even file systems

You can interface around the nodejs files system interface and have access to some nice tools, like git isomorphic for instance. Then obviously everything couples nicely with agents.

Something I did in my markdown editor project: https://github.com/rbbydotdev/opal

Have half a mind to release a browser kit which unifies the file tree explorer and virtual file apis and libs in the browser

esafak 2026-02-26 15:03 UTC link
No, they use it because there's a lot of training material.

pro-tip: vercel's https://agent-browser.dev/ is a great CLI for agent-based browser automation.

wild_egg 2026-02-26 15:50 UTC link
Agents really do not care at all how "nice" a language is. You only need to be picky with language if a human is going to be working with the code. I get the impression that is not the use case here though
wild_egg 2026-02-26 15:52 UTC link
Jails are alien magic and typescript is safe and familiar
simonw 2026-02-26 16:02 UTC link
Being unchanged for decades means that the training data should provide great results even for the smaller models.
simonw 2026-02-26 16:03 UTC link
Performance of the tools doesn't really matter when you have a full LLM inference loop in between each tool call.
simonw 2026-02-26 16:04 UTC link
Incompatibilities don't matter much provided your error messages are actionable - an LLM can hit a problem, read the error message and try again. They'll also remember that solution for the rest of that session.
kkukshtel 2026-02-26 16:18 UTC link
This is a really interesting idea. I wonder if something like Luau would be a good solution here - it's a typed version of Lua meant for sandboxing (built for Roblox scripting) that has a lot of guardrails on it.

https://luau.org/

JohnMakin 2026-02-26 16:56 UTC link
They use bash in ways a human never would, and it seems very intuitive for them.
andrewingram 2026-02-26 17:12 UTC link
I did a slightly less ambitious prototype a few weeks ago where I created added lazy loading of GCS files into the just-bash file-systems, as well as lots of other on-demand files. Was a lot of fun.
cramforce 2026-02-26 19:06 UTC link
In practice it is actually extremely fast because there is no process fork. You're talking nanoseconds for common commands

[Disclaimer: I made the thing]

cramforce 2026-02-26 19:12 UTC link
I would not over-read into that doc. In practice, the only missing stuff are extreme edge cases of the type that is actually not consistent between other implementations of bash.

In practice it works great. I haven't seen a failed command in a while

[Disclaimer: I made the thing]

JustFinishedBSG 2026-02-26 19:52 UTC link
What problem were you trying to solve ? ( not that you need to solve one. I’m just curious )
resonious 2026-02-26 21:06 UTC link
I'll add that agents (CC/Codex) very often screw up escaping/quoting with their bash scripts and waste tokens figuring out what happened. It's worse when it's a script they save and re use because it's often a code injection vulnerability.
justaboutanyone 2026-02-26 21:08 UTC link
Shell programming is high density inter-language glue. You simply have more options of implementations to call out to and so less to write.

I can trivially combine a tool written in rust with one written in js/java/C/whatever without writing bindings

cyanydeez 2026-02-26 21:47 UTC link
If you want a better guess: It's because of the man pages for all the tools are likely duplicated across so many media for the LLM training that there's just an efficient pipeline. They go back to the 70s or whatever.

So, mostly re-enforcement along multiple vectors.

Editorial Channel
What the content says
+0.10
Article 26 Education
Low Framing Coverage
Editorial
+0.10
SETL
0.00

Documentation is comprehensive and educationally structured with examples and clear instructions, supporting learning and understanding.

ND
Preamble Preamble

No content addressing foundational human dignity or universal rights principles.

ND
Article 1 Freedom, Equality, Brotherhood

No content addressing equal dignity and rights.

ND
Article 2 Non-Discrimination

No content addressing freedom from discrimination.

ND
Article 3 Life, Liberty, Security

No content addressing human right to life, liberty, and security.

ND
Article 4 No Slavery

No content addressing slavery or servitude.

ND
Article 5 No Torture

No content addressing torture or cruel treatment.

ND
Article 6 Legal Personhood

No content addressing right to legal personality.

ND
Article 7 Equality Before Law

No content addressing equality before law.

ND
Article 8 Right to Remedy

No content addressing remedy for rights violations.

ND
Article 9 No Arbitrary Detention

No content addressing arbitrary arrest or detention.

ND
Article 10 Fair Hearing

No content addressing fair and public trial.

ND
Article 11 Presumption of Innocence

No content addressing presumption of innocence.

ND
Article 12 Privacy
Medium Practice

No explicit editorial content addressing privacy as a human right.

ND
Article 13 Freedom of Movement

No content addressing freedom of movement.

ND
Article 14 Asylum

No content addressing asylum or refuge.

ND
Article 15 Nationality

No content addressing nationality.

ND
Article 16 Marriage & Family

No content addressing marriage or family.

ND
Article 17 Property

No content addressing property rights.

ND
Article 18 Freedom of Thought

No content addressing freedom of thought, conscience, and religion.

ND
Article 19 Freedom of Expression
High Practice

No explicit editorial advocacy for freedom of expression.

ND
Article 20 Assembly & Association

No content addressing peaceful assembly or association.

ND
Article 21 Political Participation

No content addressing political participation.

ND
Article 22 Social Security

No content addressing social security.

ND
Article 23 Work & Equal Pay

No content addressing work and fair labor conditions.

ND
Article 24 Rest & Leisure

No content addressing rest and leisure.

ND
Article 25 Standard of Living

No content addressing health or adequate standard of living.

ND
Article 27 Cultural Participation
Medium Practice

No explicit editorial content addressing scientific advancement as a right.

ND
Article 28 Social & International Order

No content addressing social and international order.

ND
Article 29 Duties to Community

No content addressing duties to community.

ND
Article 30 No Destruction of Rights

No content addressing destruction of rights.

Structural Channel
What the site does
+0.20
Article 19 Freedom of Expression
High Practice
Structural
+0.20
Context Modifier
ND
SETL
ND

Open-source publication on public platform enables free access to information. Apache-2.0 license permits unrestricted distribution and modification. Complete source code transparency supports verifiable information.

+0.15
Article 12 Privacy
Medium Practice
Structural
+0.15
Context Modifier
ND
SETL
ND

Sandboxed file system architecture and default-deny network access implement privacy-by-design principles, preventing unauthorized data access or transmission.

+0.15
Article 27 Cultural Participation
Medium Practice
Structural
+0.15
Context Modifier
ND
SETL
ND

Open-source publication enables collaborative participation in technical innovation. Repository infrastructure (CI/CD workflows, contribution guidelines) facilitates collective development and knowledge advancement.

+0.10
Article 26 Education
Low Framing Coverage
Structural
+0.10
Context Modifier
ND
SETL
0.00

Repository organization with README, examples directory, and configuration files facilitates educational access and exploration.

ND
Preamble Preamble

No structural signals regarding human dignity or freedoms.

ND
Article 1 Freedom, Equality, Brotherhood

No structural signals regarding equality.

ND
Article 2 Non-Discrimination

No structural signals regarding discrimination.

ND
Article 3 Life, Liberty, Security

Execution protection against infinite loops is technical safety, not human security.

ND
Article 4 No Slavery

No structural signals regarding labor bondage.

ND
Article 5 No Torture

No structural signals regarding harm prevention.

ND
Article 6 Legal Personhood

No structural signals regarding recognition as person.

ND
Article 7 Equality Before Law

No structural signals regarding legal protection.

ND
Article 8 Right to Remedy

No structural signals regarding justice or remedies.

ND
Article 9 No Arbitrary Detention

No structural signals regarding detention.

ND
Article 10 Fair Hearing

No structural signals regarding judicial fairness.

ND
Article 11 Presumption of Innocence

No structural signals regarding criminal process.

ND
Article 13 Freedom of Movement

No structural signals regarding mobility.

ND
Article 14 Asylum

No structural signals regarding protection from persecution.

ND
Article 15 Nationality

No structural signals regarding national belonging.

ND
Article 16 Marriage & Family

No structural signals regarding family life.

ND
Article 17 Property

No structural signals regarding property ownership.

ND
Article 18 Freedom of Thought

No structural signals regarding belief systems.

ND
Article 20 Assembly & Association

No structural signals regarding group formation.

ND
Article 21 Political Participation

No structural signals regarding governance participation.

ND
Article 22 Social Security

No structural signals regarding welfare or protection.

ND
Article 23 Work & Equal Pay

No structural signals regarding employment.

ND
Article 24 Rest & Leisure

No structural signals regarding work-life balance.

ND
Article 25 Standard of Living

No structural signals regarding health or welfare.

ND
Article 28 Social & International Order

No structural signals regarding global systems.

ND
Article 29 Duties to Community

No structural signals regarding communal responsibilities.

ND
Article 30 No Destruction of Rights

No structural signals regarding right limitations.

Supplementary Signals
Epistemic Quality
0.76
Propaganda Flags
0 techniques detected
Solution Orientation
No data
Emotional Tone
No data
Stakeholder Voice
No data
Temporal Framing
No data
Geographic Scope
No data
Complexity
No data
Transparency
No data
Event Timeline 20 events
2026-02-26 23:08 eval_success Evaluated: Neutral (0.00) - -
2026-02-26 23:01 eval_success Light evaluated: Neutral (0.00) - -
2026-02-26 22:41 rater_validation_fail Light validation failed for model llama-4-scout-wai - -
2026-02-26 22:36 rater_validation_fail Light validation failed for model llama-4-scout-wai - -
2026-02-26 22:36 rater_validation_fail Light validation failed for model llama-4-scout-wai - -
2026-02-26 22:15 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 22:13 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 22:12 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 22:11 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 18:43 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:42 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:42 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:42 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:40 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:39 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:38 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:36 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:35 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:35 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
2026-02-26 18:34 dlq Dead-lettered after 1 attempts: just-bash: Bash for Agents - -
About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR | RSS
build 73b005a+kjng · deployed 2026-02-27 00:55 UTC · evaluated 2026-02-26 22:10:52 UTC