I actually bundle LibreOffice with my app too and the reason is reading files, especially old xls files. Since I'm bundling it I'm now using it for everything docs related but the specific reason is those old files. I couldn't find anything else that I could just drop it and feel confident it'll just read anything I give it.
The new app is an unbelievable mess. Settings are senselessly organized, too. The whole thing has this aesthetic slickness and then underneath it's like the people who make it have never even used it.
It's not surprising that it's pulled in absolutely massive dependencies, although I'm not sure it's the wrong call on some operating systems. LibreOffice is pretty tried and true.
Personally, I like the 3-pane organization (sidebar, chat, browser). I turned ChatGPT into my bookkeeper and social post writing/kanban space, and it works well for these script+browser workflows on desktop.
However, all of this is confusing:
- the ChatGPT/Codex split on desktop
- Chat/Work split on mobile
- how you remotely access each chat from your phone (some of my most valuable chats are buried in Remote)
- which chats propagate from device to device, and which remain on that device
Does that really mean that it's bundling those apps from the start or did it just download and install them at some point to do some local work on some prompt or job you ask it to?
I don't see it making much sense to bundle it. I'm sure a LOT of LLM prompts are related with docs, excels, powerpoints etc, etc but don't really see it worth it for it to be bundled on the codex app from the get go, because otherwise, why not also install dozens of other apps?
I'm not sure. Someone who hasn't installed the ChatGPT (or Codex) apps yet could confirm this by installing the apps, seeing if that ~/.cache directory exists, then try running a prompt that needs Python or Node.js or LibreOffice and see if it downloads them when needed.
Notably: this did not exist after I installed the app, it existed after I ran the app and there was the long startup screen. Presumably, and I'm not sure I'm interested enough to redo it all and find out, that long startup screen involves the default skills plugins setting up their environment and one of those pulls it as a general app requirement.
I also saw this present after first run on macOS but not Windows.
Is that what it is using to render and manipulate MS Office documents? That'd explain the poor rendering of some of my files. Bundling all of LibreOffice seems like a pretty huge dependency.
I have a skill that instructs ChatGPT/Codex to verify the rendering using the Mac versions of Microsoft Office. Even without registering, you still can open files read-only, which is enough. Apparently Office refuses to open some Open Office XML documents that LibreOffice is fine with, so that's another reason to use this. After a few times, Codex ended up storing some memories to stop producing broken files in the first place.
What's ironic about this is, afaik there's no programmatic way to get a screenshot of a PowerPoint on windows other than opening up PowerPoint and screenshotting it. I only discovered this when I first tried out Anthropics official PowerPoint skill when it came out this winter.
If anything happens from this, I hope it forces Microsoft to address some of its long standing hostile to power users issues so they can stay relevant in the world of AI tooling.
For a docker image of mine I was bundling the full version of LibreOffice as well but I managed to get some space savings by bundling just the no-gui version.
I don't think that's anywhere near equivalent. That's for reading and writing Microsoft Office docs. It has no office functionality. LibreOffice has a full API, for example to run calculations on spreadsheets [1].
The goal of bringing in dependencies is so you don't have to duplicate the functionality, in this case, crafted over decades of effort.
Computer use is slow and can take control of the application focus. I’ll be doing things while Claude runs in the background. Suddenly it decides to open the app and try to do something + screenshot it.
I don't know how many times I've had to yell at codex or claude to use/implement headless versions of whatever it's doing at the time, interrupts me trying to multitask and play Battlefield or Factorio while they work :P
There is a serious threat to Microsoft here, if everyone starts using AI for generating and updating Office docs. At some point Office will become just a viewer.
im stoked for that outcome, standard document tooling should not live behind subscription models anymore. i dont care that microsoft spent zillions bankrolling education systems and companies to fall into this cultural lock in over the decades
whether they like it or not spreadsheets word docs etc are just ubiquitous parts of existing in society at this point you're gonna need to reach for these tools eventually just to apply for jobs or do homework
You assume tokens will be free after these get their monopoly positions? Actual libre office is actual open source running on weak hardware. Truly free.
And I suspect we will look back at MS with nostalgia once Altman and Musk get their ai imperiums.
Satya said some time ago that they expect soon to have more agents using Microsoft software than humans, and are working on transitioning their focus from serving humans to serving agents.
So they will switch to per-agent pricing instead of per-user. Fine, but that doesn't change the fact that Microsoft Office will become a just bunch of viewers as far as human usage is concerned. As far as generating Office documents, you can do that without using any Microsoft code.
This is one that's already true and "everyone" hasn't figured it out yet. But you don't really even need Office as a viewer, PDF is fine (for printable/portable fixed-layout) or just HTML. "Office" is a product that doesn't need to exist anymore, at least for the core apps. For day-to-day office work, you probably shouldn't be using those legacy apps, you should be reviewing portable document formats and asking an agent to make the revisions that you want.
> For Microsoft, this shift means products like M365 will act as the foundational layer where AI agents operate. Users will still need places to store documents, manage projects, search files, and track workflows
Despite the title, I'm not sure it's actually bundled. Some of the skills plugins will download it on the first run. So it depends where they are grabbing it from rather than the presence of the binary on the system, but I haven't checked that deep into where they actually grab it.
The license itself may be present in the cache folder.
Alternatively, ChatGPT might happily disclose authorship and licensing if asked.
I'm not convinced of the argument that the fact that it is not bundled at download or even at install-time, would free them of the GPL responsibilities. And at this point.
I'm also not sure HOW the devs bundled libreoffice, whether they just mentioned in a prompt (use libreoffice), or whether they hardcoded a command (like apt install libreoffice), more likely the former, considering the recursive vibecoding nature of this software.
Whole lotta words to say that I don't know whether this is a GPL violation, but interested in the answer. If it is a violation, the likely fix will probably be yet another prompt that says something like "comply with licensing", which probably already exists, so a more specific "provide attribution (in a way that doesn't bother the user)"
Also in the newest app I think the transcription feature is unusable. Ok, I can have a shortcut to start and stop recording. Wow, cool! Ok, but where did the transcription go? In my clipboard? To my cursor? Hey? :(
Imagine the enormous complexity of office file formats if your business is literally building coding models/agents and still you choose to bundle LibreOffice.
First Claude installed 10GB VM [0] without asking, but OpenAI ships LibreOffice.
What's next? Somebody ship their monorepo verbatim?
Honestly, not sure it's worth having those app on your localhost at all.
I ended up uninstalling all frontier labs bloated apps and start using Google AI Mode + Antigravity CLI / Claude Code sometimes.
spinning up an entire copy of libreoffice sounds super heavy?, if someone here is actually using chatgpt to edit docx documents then they can feel free to use us.
vespper.com
I've noticed that when I have codex read/modify word files the live reasoning snippets often allude to LibreOffice, so that makes sense. I think it was a quick and dirty way for them to interface with docx and xlsx files?
(I made a similar comment in a different post by Simon Willison yesterday about GPT Work)
I am unsure the direction that AI assisted document creation work will go in. I am opinionated and building something in the space. In this reply I discuss my view + what I have been building.
My opinion is: We now have AI, this new amazing flexible tool. We can throw it at any problem. But in terms of document creation we have a choice between old fashioned siloed document formats (.pptx, .pdf, .xlsx, .docx, etc.) and a freshly rendered - slightly randomly styled - html site with some basic javascript within it. I think these combinations are odd and do not maximise the powers of AI.
I've been building something called SmallDocs [0][1] which is a new take on work documents. It's all Markdown, but it always renders (100% privately) on the SmallDocs site. This means the SmallDocs renderer can convert recognised Markdown combinations into powerful traditional document formats [2]. For example, we convert a ```cells block into an in-line spreadsheet you can export to Excel.
This gives an agent the ability to express itself with a great deal of depth and flexibility. For example, your agent can produce a single data analysis "SmallDoc" with text, charts, spreadsheets, etc. [3] I find that combining formats quickens the speed I can understand a topic.
SmallDocs also have standardised and pretty boring styling. This means you spend less time understanding the layout of a flashy HTML page and more time on the content.
I also believe a pre-determined rendering engine has a lot of advantages over a freslhy built HTML artifact. It allows you to build in lot's of useful defaults that the agent doesn't have to code from scratch. These can be small things, for example, every time your agent renders a Markdown table in SmallDocs you can instantly copy it as a CSV or a PNG. And these can be bigger things, such as a rich slides DSL with solid styling defaults, which saves your agents a lot of tokens and results in consistently attractive HTML slides [4]. (Slides can also be automatically exported to .pdf and .pptx.)
I've been at it for a few months, and am still working on the project. I am looking for feedback and open source collaborators. Thanks for reading!
Indeed, but that likely wouldn't have stopped someone from submitting it with a misleading title. HN is known to get a lot of misleading titles submitted and to have to change them. The <title> tag is better, it doesn't say "a full copy". In the screenshot it shows "headless" in the filename. I would simply add the tiny detail of headless to the <title> and use this title for HN: Codex Bundles Headless LibreOffice
Ok, it's probably not a security decision. It's a common pattern with both storage and memory management to push most reservations to initialization, in order to cluster resource insufficiency errors to a specific install-time when the user or admin can do something about it. An excessive just-in-time approach in both storage and memory would cause OOM and Disk exhaustion to occur at many different times.
Walnut is the .NET and OpenXML backend. I think the point parent was trying to make it that it shouldn't be surprising Codex bundles runtimes for damn near everything.
I still don’t understand why with all their cash these companies dont redo their apps in Rust or native. They are all so heavy and dog slow. There are already some very fast cross platform (wasm too!) libraries that can do what poppler does as well as parse and produce various office file formats. Because 2gb is crazy town, these things could be around 100mb, just throw some tokens at the problem.
Just throw some tokens at the problem. I’ve vibed up a Rust Crux hybrid app that runs well on macOS, iPad and wasm and does some pretty complex xml manipulation and other document work. Absolutely smokes electron and you get native UI.
On top of everyone else’s great points, if you make your own “fork” of something, then you have to consistently maintain it. Which can be done with tokens, but an extra cost with something that’s not as user tested.
Ah good point, I thought this was coming across from the "recreate" your own approach. I would fully agree with you on using native frameworks, though the eletron desktop is a great "entry" onto desktops ensuring companies only have to update 1 source, as opposed to natives everywhere.
I mean, aside from all the NP Hard sub problems (I might not be reading your satire though), the real hard problem is that a "product" is not just software, but an ecosystem and a promise of maintenance of the abstract user experience & quality of it.
Someone may need to explain to me what is wrong with this sorry. Is it because it bloats the app with functionality that some users will never use? I feel like that is fairly usual for productivity/business apps generally.
Oh right, yeah I agree. It's the kind of thing I can imagine the harness downloading in the background anyway (or instructing the user to do) at some point so I can see the sense in just skipping that bit. Kind of comforting they just do it the same way the rest of us do - if it ain't broke and so on.
It does, however, introduce a potentially enormous attack surface into ChatGPT, along with creative opportunities for less security conscious individuals and LLMs.
Yes, that's what I mean - maybe that didn't come across cos I said "bloats". I work for a business that builds web apps for corporates - LibreOffice is bundled in most of the repos of ours that I've seen, a bit like Imagick is in the broader sector.
It's not surprising that it's pulled in absolutely massive dependencies, although I'm not sure it's the wrong call on some operating systems. LibreOffice is pretty tried and true.
However, all of this is confusing:
- the ChatGPT/Codex split on desktop
- Chat/Work split on mobile
- how you remotely access each chat from your phone (some of my most valuable chats are buried in Remote)
- which chats propagate from device to device, and which remain on that device
I don't see it making much sense to bundle it. I'm sure a LOT of LLM prompts are related with docs, excels, powerpoints etc, etc but don't really see it worth it for it to be bundled on the codex app from the get go, because otherwise, why not also install dozens of other apps?
% ls ~/.cache/codex-runtimes/codex-primary-runtime/dependencies/native/libreoffice-headless
libreoffice manifest.json
More notably, I don't use Computer Use or any of the fancy features, just Codex for agentic coding.
I also saw this present after first run on macOS but not Windows.
because other apps are less likely to be useful, and there's diminishing returns
I generated the skill originally for ChatGPT 5.5, so some of these may not strictly be necessary anymore with later models. But posting here in case others find it useful: https://gist.github.com/telotortium/844386f762c4b3bab49999ba...
If anything happens from this, I hope it forces Microsoft to address some of its long standing hostile to power users issues so they can stay relevant in the world of AI tooling.
What's the alternative library you see?
The goal of bringing in dependencies is so you don't have to duplicate the functionality, in this case, crafted over decades of effort.
[1] https://wiki.documentfoundation.org/Documentation/SDKGuide/C...
https://devblogs.microsoft.com/microsoft365dev/getting-start...
https://github.com/googleworkspace/cli
whether they like it or not spreadsheets word docs etc are just ubiquitous parts of existing in society at this point you're gonna need to reach for these tools eventually just to apply for jobs or do homework
And I suspect we will look back at MS with nostalgia once Altman and Musk get their ai imperiums.
Satya said some time ago that they expect soon to have more agents using Microsoft software than humans, and are working on transitioning their focus from serving humans to serving agents.
https://www.news18.com/business/satya-nadella-announces-micr...
They bet on the online office suite (M365).
Is this a MPL 2.0 violation?
Alternatively, ChatGPT might happily disclose authorship and licensing if asked.
I'm not convinced of the argument that the fact that it is not bundled at download or even at install-time, would free them of the GPL responsibilities. And at this point.
I'm also not sure HOW the devs bundled libreoffice, whether they just mentioned in a prompt (use libreoffice), or whether they hardcoded a command (like apt install libreoffice), more likely the former, considering the recursive vibecoding nature of this software.
Whole lotta words to say that I don't know whether this is a GPL violation, but interested in the answer. If it is a violation, the likely fix will probably be yet another prompt that says something like "comply with licensing", which probably already exists, so a more specific "provide attribution (in a way that doesn't bother the user)"
Honestly, not sure it's worth having those app on your localhost at all. I ended up uninstalling all frontier labs bloated apps and start using Google AI Mode + Antigravity CLI / Claude Code sometimes.
[0] https://github.com/anthropics/claude-code/issues/22543
https://x.com/bdsqlsz/status/2067964486615810369
I am unsure the direction that AI assisted document creation work will go in. I am opinionated and building something in the space. In this reply I discuss my view + what I have been building.
My opinion is: We now have AI, this new amazing flexible tool. We can throw it at any problem. But in terms of document creation we have a choice between old fashioned siloed document formats (.pptx, .pdf, .xlsx, .docx, etc.) and a freshly rendered - slightly randomly styled - html site with some basic javascript within it. I think these combinations are odd and do not maximise the powers of AI.
I've been building something called SmallDocs [0][1] which is a new take on work documents. It's all Markdown, but it always renders (100% privately) on the SmallDocs site. This means the SmallDocs renderer can convert recognised Markdown combinations into powerful traditional document formats [2]. For example, we convert a ```cells block into an in-line spreadsheet you can export to Excel.
This gives an agent the ability to express itself with a great deal of depth and flexibility. For example, your agent can produce a single data analysis "SmallDoc" with text, charts, spreadsheets, etc. [3] I find that combining formats quickens the speed I can understand a topic.
SmallDocs also have standardised and pretty boring styling. This means you spend less time understanding the layout of a flashy HTML page and more time on the content.
I also believe a pre-determined rendering engine has a lot of advantages over a freslhy built HTML artifact. It allows you to build in lot's of useful defaults that the agent doesn't have to code from scratch. These can be small things, for example, every time your agent renders a Markdown table in SmallDocs you can instantly copy it as a CSV or a PNG. And these can be bigger things, such as a rich slides DSL with solid styling defaults, which saves your agents a lot of tokens and results in consistently attractive HTML slides [4]. (Slides can also be automatically exported to .pdf and .pptx.)
I've been at it for a few months, and am still working on the project. I am looking for feedback and open source collaborators. Thanks for reading!
[0] https://smalldocs.org
[1] https://github.com/espressoplease/smalldocs
[2] https://smalldocs.org/blogs/what-is-a-smalldoc
[3] https://smalldocs.org/s/46fWiAyF77T9c7tqYwAQqp#k=j78ZEOOrgo8...
[4] https://smalldocs.org/s/QrmeWMsULGS871nXQYOacB#k=ubOHH9QtTWp...
(And something totally different, your agent can also use SmallDocs to walk you through code files: https://smalldocs.org/s/JsI_-tWSH0UpSd_YXxVLPm#k=G5jLCYA4JUX...)
...
For those that can't see the sarcasm: https://en.wikipedia.org/wiki/Godwin%27s_law
Ref: https://redbadger.github.io/crux/
(Also, "Rust or native" is a strange dichotomy. What's not native about Rust?)