[HN Gopher] ChatGPT Containers can now run bash, pip/npm install...
___________________________________________________________________
ChatGPT Containers can now run bash, pip/npm install packages and
download files
Author : simonw
Score : 81 points
Date : 2026-01-26 19:19 UTC (3 hours ago)
(HTM) web link (simonwillison.net)
(TXT) w3m dump (simonwillison.net)
| simonw wrote:
| Regular default ChatGPT can also now run code in Node.js, Ruby,
| Perl, PHP, Go, Java, Swift, Kotlin, C and C++.
|
| I'm not sure when these new features landed because they're not
| listed anywhere in the official ChatGPT release notes, but I
| checked it with a free account and it's available there as well.
| jmacd wrote:
| I wonder how long npm/pip etc even makes sense.
|
| Dependancies introduce unnecessary LOC and features which are,
| more and more, just written by LLMs themselves. It is easier to
| just write the necessary functionality directly. Whether that is
| more maintainable or not is a bit YMMV at this stage, but I would
| wager it is improving.
| TZubiri wrote:
| This is like saying Wikipedia doesn't make sense because
| there's now Grokipedia
| GuinansEyebrows wrote:
| there are people (on Hacker News Dot Com, even) who believe
| this without a shred of shame or irony.
| kristianp wrote:
| At times I wonder why x tui coding agent was written in
| js/ts/python, why not use Go if it's mostly llm coded anyway?
| But that's mostly my frustration at having to wait for npm to
| install a thousand dependencies, instead of one executable plus
| some config files. There's also support libraries like terminal
| ui that differ in quality between platforms.
| randomtoast wrote:
| Maybe soon we have single use applications. Where ChatGPT can
| write an App for you on-the-fly in a cloud sandbox you interact
| with it in the browser and fulfill your goal and afterwards the
| App is shutdown and thrown away.
| twostorytower wrote:
| You can already do this.
| Imustaskforhelp wrote:
| exe.dev (though there are alternatives like sprites.dev etc.
| too)
| behnamoh wrote:
| I wonder if the era of dynamic programming languages is over.
| Python/JS/Ruby/etc. were good tradeoffs when developer time
| mattered. But now that most code is written by LLMs, it's as
| "hard" for the LLM to write Python as it is to write Rust/Go
| (assuming enough training data on the language ofc; LLMs still
| can't write Gleam/Janet/CommonLisp/etc.).
|
| Esp. with Go's quick compile time, I can see myself using it more
| and more even in my one-off scripts that would have used
| Python/Bash otherwise. Plus, I get a binary that I can port to
| other systems w/o problem.
|
| Compiled is back?
| nomel wrote:
| > But now that most code is written by LLMs
|
| I'm sure it will _eventually_ be true, but this seems very
| unlikely _right now_. I wish it were true, because we 're in a
| time where generic software developers are still paid well, so
| doing nothing all day, with this salary, would be very welcome!
| phainopepla2 wrote:
| Code written by LLM != developer doing nothing
| rvz wrote:
| > Plus, I get a binary that I can port to other systems w/o
| problem.
|
| So cross-platform vibe-coded malware is the future then?
| yibers wrote:
| I hope that AVs will also evolve using the new AI tech to
| detect this type of malware.
| Imustaskforhelp wrote:
| Honestly I looked at Go for malware and I mean AV detection
| for golang used to be ehh but recently It got strong.
|
| Then it became a cat and mouse game with obfuscators and
| deobfucsators.
|
| John Hammond has a *BRILLIANT* Video on this topic. 100%
| recommneded.
|
| Honestly Speaking from John Hammond I feel like Nim as a
| language or V-lang is something which will probably get
| vibe coded malware from. Nim has been used for hacking so
| much that iirc windows actually blocked the nim compiler as
| malware itself!
|
| Nim's biggest issue is that hackers don't know it but if
| LLM's fix it. Nim becomes a really lucrative language for
| hackers & John Hammond described that Nim's libraries for
| hacking are still very decent.
| ravenstine wrote:
| I'm not sure that LLMs are going to [completely] replace the
| desire for JIT, even with relatively fast compilers.
|
| Frameworks might go the way of the dinosaur. If an LLM can
| manage a lot of complex code without human-serving
| abstractions, why even use something like React?
| westurner wrote:
| Test cases; test coverage
| mdtusz wrote:
| Frameworks aren't just human-serving abstractions - they're
| structural abstractions that allow for performant code, or
| even being able to achieve certain behaviours.
|
| Sure, you could write a frontend without something like
| react, and create a backend without something like django,
| but the code generated by an LLM will become similarly
| convoluted and hard to maintain as if a human had written it.
|
| LLM's are still _quite_ bad at writing maintainable code -
| even for themselves.
| simonw wrote:
| I have certainly become Go-curious thanks to coding agents - I
| have a medium sized side-project in progress using Go at the
| moment and it's been surprisingly smooth sailing considering I
| hardly know the language.
|
| The Go standard library is a particularly good fit for building
| network services and web proxies, which fits this project
| perfectly.
| Imustaskforhelp wrote:
| 100% check out Golang even more! I have been writing Golang
| AI coding projects for a really long time because I really
| loved writing different languages and Golang was one in which
| I settled on.
|
| Golang's libraries are phenomenal & the idea of porting over
| to multiple servers is pretty easy, its really portable.
|
| I actually find Golang good for CLI projects, Web projects
| and just about everything.
|
| Usually the only time I still use python uvx or vibe code
| using that is probably when I am either manipulating images
| or pdf's or building a really minimalist tkinkter UI in
| python/uv
|
| Although I tried to convert the python to golang code which
| ended up using fyne for gui projects and surprisingly was
| super robust but I might still use python in some niche use
| cases.
|
| Check out my other comment in here for finding a vibe coded
| project written in a single prompt when gemini 3 pro was
| launched in the web (I hope its not promotion because its
| open source/0 telemetry because I didn't ask for any of it to
| be added haha!)
|
| Golang is love. Golang is life.
| behnamoh wrote:
| > considering I hardly know the language.
|
| Same boat! In fact I used to (still do) dislike Go's syntax
| and error handling (the same 4 lines repeated every time you
| call a function), but given that LLMs can write the code and
| do the cross-model review for me, I literally don't even
| _see_ the Go source code, which is nice because I 'd hate it
| if I did (my dislike of Go's syntax + all the AI slop in the
| code would drive me nuts).
|
| But at the end of the day, Go has good scaffolding, the best
| tooling (maybe on par with Rust's, definitely better than
| Python even with uv), and tons of training data for LLMs.
| It's also a rather simple language, unlike Swift (which I
| wish was simpler because it's a really nice language
| otherwise).
| logicprog wrote:
| It's funny seeing you say that, because I've had an entire
| arc of despising the design of, and peremptorily refusing to
| use, Go, to really enjoying it, thanks to AI coding agents
| being able to take care of the boilerplate for me.
|
| It turns out that verbosity isn't really a problem when LLMs
| are the one writing the code based on more high level
| markdown specs (describing logic, architecture, algorithms,
| concurrency, etc), and Go's extreme simplicity, small range
| of language constructs, and explicitness (especially in error
| handling and control flow) make it much easier to quickly and
| accurately review agent code.
|
| It also means that Go's incredible (IMO) runtime, toolchain,
| and standard library are no longer marred by the boilerplate
| either, and I can begin to really appreciate their
| brilliance. It has me really reconsidering a lot of what I
| believed about language design.
| simonw wrote:
| Yeah, I much prefer Go to Rust for LLM things because I
| find Go code easy to read and understand despite having
| little experience with it - Rust syntax still trips me up.
| logicprog wrote:
| Not to mention that, in general, there's a lot more to
| keep in mind with Rust.
|
| I've written probably tens of thousands of lines of Rust
| at this point, and while I used to absolutely _adore_ it,
| I 've really completely fallen out of love with it, and
| part of it is that it's not just the syntax that's
| horrible to look at (which I only realized after spending
| some time with Go and Python), but you have to always
| keep in mind a lot of things:
|
| - the borrow checker - lifetimes, - all the different
| kinds of types that represent different ways of doing
| memory management - parse out sometimes extremely complex
| and nearly point-free iterator chaining - deal with a
| complex type system that can become very unwieldy if
| you're not careful - and more I'm probably not thinking
| of right now
|
| Not to mention the way the standard library exposes you
| to the full bore of all the platform-specific
| complexities it's designed on top of, and forces you to
| deal with them, instead of exposing a best-effort POSIX-
| like unified interface, so path and file handling can be
| hellish. (this is basically the reverse of
| fasterthanlime's point in the famous "I want off mr.
| golang's wild ride" essay).
|
| It's just a lot more cognitive overhead to just getting
| something done if all you want is a fast statically
| compiled, modern programming language. And it makes it
| even harder to review code. People complain about Go
| boilerplate, but really, IME, Rust boilerplate is far,
| far worse.
| cobolexpert wrote:
| I was also thinking this some days ago. The scaffolding that
| static languages provide is a good fit for LLMs in general.
|
| Interestingly, since we are talking about Go specifically, I
| never found that I was spending too much typing... types.
| Obviously more than with a Python script, but never at a level
| where I would consider it a problem. And now with newer Python
| projects using type annotations, the difference got smaller.
| zahlman wrote:
| > And now with newer Python projects using type annotations,
| the difference got smaller.
|
| Just FWIW, you don't actually have to put type annotations in
| your own code in order to use annotated libraries.
| zahlman wrote:
| People are still going to want to _audit_ the code, at the very
| least.
| Imustaskforhelp wrote:
| I love golang man! And I use it for the same thing too!!
|
| I mean people mention rust and everything and how AI can write
| proper rust code with linter and some other thing but man trust
| me that AI can write some pretty good golang code.
|
| I mean though, I don't want everyone to write golang code with
| AI of all of a sudden because I have been doing it for over an
| year and its something that I vibe with and its my personal
| style. I would lose some points of uniqueness if everyone
| starts doing the same haha!
|
| Man my love for golang runs deep. Its simple, cross platform
| (usually) and compiles super fast. I "vibe code" but feel faith
| that I can always manage the code back.
|
| (self promotion? sorry about that: but created golang single
| main.go file project with a timer/pomodoro with websockets
| using gorilla (single dep) https://spocklet-pomodo.hf.space/)
|
| So Shhh let's keep it a secret between us shall we! ;)
|
| (Oh yeah! Recently created a WHMCS alternative written in
| golang to hook up to any podman/gvisor instance to build your
| own mini vps with my own tmate server, lots of glue code but it
| actually generated it in first try! It's surprisingly good, I
| will try to release it as open source & thinking of charging
| just once if people want everything set up or something custom
|
| Though one minor nitpick is that the complexity almost rises
| many folds between a single file project and anything which
| requires database in golang from what I feel usually but
| golang's pretty simple and I just _LOVE_ golang.)
|
| Also AI's pretty good at niche languages too I tried to vibe
| code a fzf alternative from golang to v-lang and I found the
| results to be really promising too!
| c7b wrote:
| Agree on compiled languages, wondering about Go vs Rust. Go
| compiles faster but is more verbose, token cost is an important
| factor. Rust's famously strict compiler and general safety
| orientation seems like a strong candidate for LLM coding. Go
| would probably have more training data out already though.
| dec0dedab0de wrote:
| or maybe someone will use an LLM to create a JIT that works so
| well that compiled languages will be gone.
| kenjackson wrote:
| Has anyone tried creating a language that would be good for
| LLMs? I feel like what would be good for LLMs might not be the
| same thing that is good for humans (but I have no evidence or
| data to support this, just a hunch).
| simonw wrote:
| There was an interesting effort in that direction the other
| day: https://simonwillison.net/2026/Jan/19/nanolang/
| conception wrote:
| I don't know rust but I use it with llms a lot as unlike
| python, it has fewer ways to do things, along with all the
| built in checks to build.
| koolba wrote:
| There are two separate needs here. One is a language that can
| be used for computation where the code will be discarded.
| Only the output of the program matters. And the other is a
| language that will be eventually read or validated by humans.
| bitwize wrote:
| Astronaut 1: You mean... strong static typing is an unmitigated
| win?
|
| Astronaut 2: Always has been...
| cyanydeez wrote:
| I think you're missing the reason LLMs work: It's cause they
| can continue predictable structures, like a human.
|
| The surmise that compiled languages fit that just doesn't
| follow. The same way LLMs have trouble finishing HTML because
| of the open/close are too far apart.
|
| The language that an LLM would succeed with is one where:
|
| 1. Context is not far apart
|
| 2. The training corpus is wide
|
| 3. Keywords, variables, etc are differentiated in the training.
|
| 4. REPL like interactivity allows for a feedback loop.
|
| So, I think it's premature to think just because the compiled
| languages are less used because of human inabilities, doesn't
| mean the LLM will do any better.
| candiddevmike wrote:
| Seems like everyone is trying to get ahead of tool calling moving
| people "off platform" and creating differentiators around what
| tools are available "locally" to the models etc. This also takes
| the wind out of the sandboxing folks, as it probably won't be
| long before the "local" tool calling can effectively do anything
| you'd need to do on your local machine.
|
| I wonder when they'll start offering virtual, persistent dev
| environments...
| yoyohello13 wrote:
| > I wonder when they'll start offering virtual, persistent dev
| environments...
|
| A lot of companies have been wanting to move in this direction.
| Instead of maintaining a fleet of machines, you just get a
| bunch of thin clients and pay Microsoft of whoever to host the
| actual workloads. They already do this 'kiosk' style stuff for
| a lot of front-line staff.
|
| Honestly, not having my own local hardware for development
| sounds like a living hell, but seems like the way we are going.
| simonw wrote:
| Coding agents are a particularly good fit for disposable
| development environments because of the risk of them messing
| things up. If the entire environment is ephemeral the worst
| that can happen (aside from private source code leaks to a
| malicious third party) is the environment gets trashed and
| you have to start over in a new one.
| Imustaskforhelp wrote:
| We are gonna have YOLO agents who will deploy directly to
| website (technically exe.dev already does that for me when I
| ask it to generate golang projects lol)
|
| Honestly I felt like it really bores me or (overwhelms?) me
| because now I feel like okay now I will do this, then that
| and then that & drastically expand the scope of the project
| but that comes with its own fatigue and the limits of free
| tokens or context with exe.dev so I end up publishing it on
| git provider, git ingest it paste it in web browser gemini
| ask it for updates (it has 1 million context) and then paste
| it with Opencode with an openrouter devstral key.
|
| I used this workflow to drastically improve the UI of a
| project but like I would consider that aside from some
| tinkering, I felt like the "fun" of a project definitely got
| reduced.
|
| It was always fun for me to use LLM's as I was in loop
| (Didn't use agents, copy paste workflow from web) but now
| agents kind of replicated that too & have gotten (I must
| admit) pretty good at it.
|
| I don't know man, any thoughts on how to make such things fun
| again? When LLM's first came or even before using agents like
| this with just creating single scripts, It was fun to use
| them but creating whole projects with huge scope feels very
| fun sucking imo.
| ljm wrote:
| Coming full circle to renting time from a mainframe.
| simonw wrote:
| Claude Code for the web is _kind of_ a persistent virtual dev
| environment already.
|
| You can start a session there and chat with it to get a bunch
| of work done, then come back to that session a day later and
| the virtual filesystem is in the same state as when you left
| it.
|
| I haven't figured out if this has a time limit on it - it's
| possible they're doing something clever with object storage
| such that the cost of persisting those environments is really
| low, see also Fly's Sprites.dev: https://fly.io/blog/design-
| and-implementation/
| esperent wrote:
| It's so incredibly buggy though. I end up with hung sessions
| "starting claude code" every second or third time. After a
| few times of losing work I'm done with it. I'll check back in
| a few months and see if it's in better shape.
| skybrian wrote:
| Not sure if this is still working. I tried getting it to install
| cowsay and it ran into authentication issues. Does it work for
| other people?
| simonw wrote:
| Can you share the transcript?
| nottorp wrote:
| ... as root?
| zahlman wrote:
| Given that it's within a container on a remote server, does
| that _matter_?
| acedTrex wrote:
| I mean i hope its more hardened than JUST a container given
| how many container escapes there are.
| jchw wrote:
| Apparently, they are using gVisor, which when applied
| properly, should make a pretty good isolation primitive.
| tintor wrote:
| No root. `pip` and `npm install` don't require it.
|
| You can not use `sudo apt install` inside it.
|
| They use gVisor, and other container isolation mechanisms:
| https://ryan.govost.es/2025/openai-code-interpreter/
| xnx wrote:
| How much compute do you get in these containers? Could I have it
| run whisper on an mp3 it downloads?
| simonw wrote:
| That might work! You would have to figure out how to get
| Whisper working in there but I'm sure that's possible with a
| bit of creativity concerning uploading files and maybe running
| a build with the available C compiler.
|
| It appears to have 4GB of RAM and 56 (!?) CPU cores
| https://chatgpt.com/share/6977e1f8-0f94-8006-9973-e9fab6d244...
| Imustaskforhelp wrote:
| Huh...
|
| If people are getting this for free or even as an offering
| with chatgpt consideirng it becomes subsidized too. Lowend
| providers are a little in threat with their 7$/year deals if
| Chatgpt provides 56 cores for free. this doesn't seem right
| to provide so many cores for (free??)
|
| Are you running this in your free account as you mention in
| blog post simon or in your paid account?
| simonw wrote:
| My $20/month paid account.
|
| I used a free account to check if the feature was available
| there and it tried to get me to upgrade two prompts in
| (just enough for me to confirm the container worked and
| could install packages).
| Imustaskforhelp wrote:
| Oh thanks for your reply Simon!
|
| > I used a free account to check if the feature was
| available there and it tried to get me to upgrade two
| prompts in (just enough for me to confirm the container
| worked and could install packages).
|
| Wait it tried... to make you upgrade your chatgpt account
| from free to paid account? Sorry I didn't get what you
| meant here
|
| (Funnily I asked chatgpt about what it thinks of your
| text and it says that It thinks that it tries to ask you
| to pay up)
|
| Is this thing (maybe some additions to make it like
| sprites.dev?) + some ad features for basic query gonna be
| how openAI Monetizes?
|
| I mean I am part of lowend community (so indie community
| of hosting providers) and they are all really pissed and
| some shutting down because of ram prices increases.
| OpenAI has all the ram in the world right now so is it
| trying to be a monopoly in this instance?
|
| I just found it to be really dystopian that it asked you
| to pay. Can you share me a pic of it if possible or share
| the free conversation. Heck, I might have to try it now
| on my free account as well.
|
| Curiosity's piqued right now.
| simonw wrote:
| On my free ChatGPT account I ran a prompt telling it to
| write and execute hello world in a bunch of languages: ht
| tps://chatgpt.com/share/6977aa7c-7bd8-8006-8129-8c9e25126
| f...
|
| It did what I asked - proving that the container feature
| works even for free accounts - but then displayed a
| message saying that I was as out of free prompts and
| would need to upgrade or wait before I could run more.
| goinghjuk wrote:
| by default containers do not limit core count, you'll get
| all available on the host/VM.
|
| these cores are shared with all the other containers, could
| be hundreds more
| tintor wrote:
| Cores are shared with other containers.
| Fernicia wrote:
| Has Gemini lost its ability to run javascript and python? I swear
| it could when it was launched by now its saying it hasn't the
| ability. Annoying regression when Claude and ChatGPT are so good
| at it.
| tj800x wrote:
| This regression seems to have happened in the past few days. I
| suspected it was hallucinating the run and confirmed it by by
| asking Gemini to output the current date/time. The UTC it was
| reported was in the future from my clock. Some challenging
| mathematics were generating wrong results. Gemini will
| acknowledge something is wrong if you push it to explain the
| discrepancies, but can't explain it.
| tgq2915 wrote:
| Congratulations. One insecure buggy code generator connected to
| an insecure packaging "system", PyPI.
|
| We are eagerly awaiting Claude Launch, which will be connected to
| ICBM bases. The last thing humanity will hear is a 100 page
| boring LLM written mea culpa by Amodei, where he'll say that he
| has warned about the dangers but it was _inevitable_.
___________________________________________________________________
(page generated 2026-01-26 23:00 UTC)