+0.04 just-bash: Bash for Agents (github.com S:+0.20 )
122 points by tosh 4 days ago | 69 comments on HN | Mild positive Product · v3.7 · 2026-02-28 12:09:19 0
Summary Digital Access & Technological Participation Acknowledges
This GitHub repository page hosts technical documentation for just-bash, a TypeScript sandboxed bash environment library. The content itself is purely technical and does not engage with human rights issues. However, structural factors—open-source publication under Apache-2.0 license, free public access, transparent source code, and community collaboration mechanisms—embody principles aligned with information freedom, educational access, and technological participation. The evaluation identifies mild positive signals across Articles 19, 21, 26, and 27, while recognizing that the product documentation remains fundamentally neutral on human rights questions.
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.05 — 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: +0.10 — 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: +0.15 — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: +0.05 — 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.15 — Education 26 Article 27: +0.20 — 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: +0.05 — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.04 Structural Mean +0.20
Weighted Mean +0.13 Unweighted Mean +0.12
Max +0.20 Article 19 Min +0.05 Article 12
Signal 8 No Data 23
Volatility 0.06 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL -0.18 Structural-dominant
FW Ratio 64% 25 facts · 14 inferences
Evidence 12% coverage
5M 5L 23 ND
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.05 (1 articles) Personal: 0.10 (1 articles) Expression: 0.17 (2 articles) Economic & Social: 0.05 (1 articles) Cultural: 0.18 (2 articles) Order & Duties: 0.05 (1 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 19 Freedom of Expression
Medium Advocacy Framing
Editorial
+0.10
SETL
-0.24

Documentation is transparent and detailed; code is fully readable and searchable without restriction

+0.10
Article 26 Education
Medium Framing
Editorial
+0.10
SETL
-0.14

Documentation serves educational function through detailed README, examples, and API reference

+0.10
Article 27 Cultural Participation
Medium Framing
Editorial
+0.10
SETL
-0.24

Tool democratizes access to AI agent technology; contributes to technical progress

0.00
Article 12 Privacy
Low Practice
Editorial
0.00
SETL
-0.10

Content does not discuss privacy rights or data protection principles

0.00
Article 17 Property
Medium Practice
Editorial
0.00
SETL
-0.20

Content does not discuss property or intellectual property rights

0.00
Article 21 Political Participation
Medium Practice
Editorial
0.00
SETL
-0.30

Content does not discuss participation in governance

0.00
Article 23 Work & Equal Pay
Low
Editorial
0.00
SETL
-0.10

Content does not discuss work, wages, or labor conditions

0.00
Article 30 No Destruction of Rights
Low Practice
Editorial
0.00
SETL
-0.10

No discussion of protection against rights abuses or misuse

ND
Preamble Preamble

Content does not reference human dignity, justice, freedom, or rights framework

ND
Article 1 Freedom, Equality, Brotherhood

No discussion of equal dignity or rights

ND
Article 2 Non-Discrimination

No mention of discrimination or protected categories

ND
Article 3 Life, Liberty, Security

Does not address human rights to life, liberty, or security

ND
Article 4 No Slavery

Not applicable

ND
Article 5 No Torture

Not applicable

ND
Article 6 Legal Personhood

Not applicable

ND
Article 7 Equality Before Law

No discussion of legal equality

ND
Article 8 Right to Remedy

Not applicable

ND
Article 9 No Arbitrary Detention

Not applicable

ND
Article 10 Fair Hearing

Not applicable

ND
Article 11 Presumption of Innocence

Not applicable

ND
Article 13 Freedom of Movement

Not applicable

ND
Article 14 Asylum

Not applicable

ND
Article 15 Nationality

Not applicable

ND
Article 16 Marriage & Family

Not applicable

ND
Article 18 Freedom of Thought

Not applicable

ND
Article 20 Assembly & Association
Low Practice

No discussion of freedom of assembly or association

ND
Article 22 Social Security

Not applicable

ND
Article 24 Rest & Leisure

Not applicable

ND
Article 25 Standard of Living

Not applicable

ND
Article 28 Social & International Order

Not applicable

ND
Article 29 Duties to Community
Low

No discussion of community responsibility or duties

Structural Channel
What the site does
+0.30
Article 19 Freedom of Expression
Medium Advocacy Framing
Structural
+0.30
Context Modifier
ND
SETL
-0.24

Open-source publication on GitHub enables universal access to information; no paywalls or authentication barriers; code transparency supports information seeking

+0.30
Article 21 Political Participation
Medium Practice
Structural
+0.30
Context Modifier
ND
SETL
-0.30

Open-source contribution model (issues, PRs) structurally enables community participation in project decisions; fork feature allows alternative governance paths

+0.30
Article 27 Cultural Participation
Medium Framing
Structural
+0.30
Context Modifier
ND
SETL
-0.24

Open-source publication enables participation in scientific and technical culture; free access removes barriers to innovation participation

+0.20
Article 17 Property
Medium Practice
Structural
+0.20
Context Modifier
ND
SETL
-0.20

Apache-2.0 license explicitly grants usage and modification rights; democratizes access to tool ownership

+0.20
Article 26 Education
Medium Framing
Structural
+0.20
Context Modifier
ND
SETL
-0.14

Free public access to code and documentation supports learning rights; GitHub platform enables skill development

+0.10
Article 12 Privacy
Low Practice
Structural
+0.10
Context Modifier
ND
SETL
-0.10

Open-source model allows users to audit code for privacy properties; GitHub has privacy controls

+0.10
Article 23 Work & Equal Pay
Low
Structural
+0.10
Context Modifier
ND
SETL
-0.10

Tool is offered free, removing economic barriers to access; indirectly enables work in AI/agent development

+0.10
Article 30 No Destruction of Rights
Low Practice
Structural
+0.10
Context Modifier
ND
SETL
-0.10

Security model includes DOS protection and execution limits; GitHub abuse reporting mechanisms available

ND
Preamble Preamble

Preamble not applicable to technical product documentation

ND
Article 1 Freedom, Equality, Brotherhood

Tool applies equally to all users; GitHub platform supports non-discriminatory access

ND
Article 2 Non-Discrimination

Open-source tool available to all without identity-based restrictions

ND
Article 3 Life, Liberty, Security

Security protections are technical, not rights-focused

ND
Article 4 No Slavery

Not applicable

ND
Article 5 No Torture

Not applicable

ND
Article 6 Legal Personhood

Not applicable

ND
Article 7 Equality Before Law

Tool functionality is uniform across users; GitHub enforces non-discriminatory access

ND
Article 8 Right to Remedy

Not applicable

ND
Article 9 No Arbitrary Detention

Not applicable

ND
Article 10 Fair Hearing

Not applicable

ND
Article 11 Presumption of Innocence

Not applicable

ND
Article 13 Freedom of Movement

Not applicable

ND
Article 14 Asylum

Not applicable

ND
Article 15 Nationality

Not applicable

ND
Article 16 Marriage & Family

Not applicable

ND
Article 18 Freedom of Thought

Not applicable

ND
Article 20 Assembly & Association
Low Practice

GitHub interface provides issue discussions and pull request collaboration channels; open-source model enables developer association

ND
Article 22 Social Security

Not applicable

ND
Article 24 Rest & Leisure

Not applicable

ND
Article 25 Standard of Living

Not applicable

ND
Article 28 Social & International Order

Not applicable

ND
Article 29 Duties to Community
Low

Open-source community model distributes responsibility for maintenance and development across contributors

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.73 low claims
Sources
0.8
Evidence
0.6
Uncertainty
0.5
Purpose
0.9
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
measured
Valence
+0.1
Arousal
0.2
Dominance
0.4
Transparency
Does the content identify its author and disclose interests?
0.50
✗ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.70 solution oriented
Reader Agency
0.8
Stakeholder Voice
Whose perspectives are represented in this content?
0.30 2 perspectives
Speaks: corporation
About: individualsinstitution
Temporal Framing
Is this content looking backward, at the present, or forward?
present unspecified
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
technical high jargon domain specific
Longitudinal 1523 HN snapshots · 7 evals
+1 0 −1 HN
Audit Trail 27 entries
2026-02-28 13:30 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 13:30 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED: Neutral tech content, no human rights discussion
2026-02-28 13:28 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 13:28 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech content no rights stance
2026-02-28 12:09 eval Evaluated by claude-haiku-4-5-20251001: +0.13 (Mild positive) -0.08
2026-02-28 09:53 eval Evaluated by claude-haiku-4-5-20251001: +0.21 (Mild positive)
2026-02-28 01:34 dlq_replay DLQ message 97520 replayed to EVAL_QUEUE: just-bash: Bash for Agents - -
2026-02-28 00:31 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 00:31 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
Tech content no rights stance
2026-02-26 23:08 eval_success Evaluated: Neutral (0.00) - -
2026-02-26 23:08 eval Evaluated by deepseek-v3.2: 0.00 (Neutral) 8,958 tokens
2026-02-26 23:01 eval_success Light evaluated: Neutral (0.00) - -
2026-02-26 23:01 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
reasoning
ED: Neutral tech content, no human rights discussion
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 - -