[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)