Why ChatGPT/Codex Bundles LibreOffice

By Rogier Muller09.02.26
Why ChatGPT/Codex Bundles LibreOffice

Simon Willison’s note, The ChatGPT/Codex app bundles a full copy of LibreOffice, is a short developer observation about OpenAI Codex, OpenAI’s coding agent, carrying a very large office-suite dependency. It deals with a practical question: why would an AI coding app need machinery for Word, Excel, PowerPoint, and document rendering at all? The takeaway is that Codex CLI workflows are no longer only about source files; they increasingly touch the messy documents that describe the work. LibreOffice is an open-source office suite that can read, render, and convert many Microsoft Office formats locally.

Notice the dependency, not just the size

The easy reaction is to laugh at the weight. Bundling a full office suite inside an AI coding app feels strange if you think the app’s job is “read code, write code, run tests.” GitHub Copilot Workshop is part of Harness Institute.

But the dependency tells a more interesting story. A codex agent often needs the surrounding evidence: a product requirements document, a spreadsheet of pricing tiers, a PowerPoint from a customer workshop, or a legacy .docx design note that nobody has moved into the repo.

LibreOffice gives the app a local way to interpret those files without asking every user to export them first. That matters because office formats are not polite text files. They contain layout, embedded objects, track changes, formulas, tables, and formatting quirks that can change what the document means.

The trap is treating this as only a “bloat” story. Size matters, especially on laptops and in managed environments, but the deeper question is what the agent is allowed to inspect and transform when the work starts outside Git.

Ask what Codex can inspect locally

As of September 2026, the public observation is about the ChatGPT/Codex app’s package contents, not a detailed OpenAI design note for why LibreOffice is there. Developers in the discussion reasonably asked whether the suite ships from the start or could have been downloaded later for a local job. That distinction matters for disk size and packaging, but it does not erase the workflow signal.

If an AI coding tool can read office files locally, those files can become part of the engineering loop. A vague ticket can point at pricing-model.xlsx. A migration task can reference legacy-admin-spec.docx. A release note can be checked against a slide deck from sales.

That is powerful, and a little dangerous. The agent may summarize a document correctly, miss a hidden worksheet, flatten a comment thread, or preserve the words while losing the layout that made the words meaningful.

For Codex users, the right mental model is simple: treat office documents as inputs with provenance, not as magical context. In Codex CLI workflows, that means making the conversion step visible enough to review.

Keep document conversion reviewable

A good repo does not let generated code appear without tests. It should not let generated document interpretation appear without a receipt either.

Here is a small pattern that works well in a real product repo. Put source documents in a clearly named folder, convert them into reviewable text or PDF artifacts, and ask Codex to cite the converted artifact when changing code.

repo/
  docs-input/
    enterprise-pricing.xlsx
    admin-workflows.docx
  docs-derived/
    enterprise-pricing.csv
    admin-workflows.md
  AGENTS.md

Then make the rule boring and explicit:

# AGENTS.md

When a task depends on files in docs-input/:
- Do not edit the original .docx, .xlsx, or .pptx file unless explicitly asked.
- Create or update a derived artifact in docs-derived/ first.
- In the final answer, name the source document and the derived file used.
- If a spreadsheet has hidden sheets, formulas, or merged cells, stop and ask before changing code.

This is not glamorous. It is the difference between “the agent seemed to read the spreadsheet” and “the agent used docs-derived/enterprise-pricing.csv, which I can diff.”

If you expose a document store through Codex MCP, keep the same boundary. Start read-only, return filenames and timestamps with retrieved content, and avoid giving the agent write access to canonical business documents unless the review path is clear.

Try it safely with one repo

Use this small experiment before you trust document-heavy work to an agent. It is not a rollout plan. It is just a cheap way to see where the sharp edges are.

Check What to do Why it matters
Pick one boring file Use a real .docx spec or .xlsx model, not a toy sample Toy files hide the exact layout problems you need to catch
Convert outside the chat If you have LibreOffice installed, convert to Markdown, CSV, or PDF before asking Codex to reason over it The derived file becomes diffable evidence
Add one AGENTS.md boundary Tell Codex not to edit originals and to cite derived files The agent has a local rule instead of relying on memory
Ask for a narrow change Example: “Update the pricing validation tests from docs-derived/enterprise-pricing.csv Narrow tasks make document errors visible
Review the receipt Check which file Codex says it used, then inspect the diff and run tests The output should be reproducible without replaying the chat

A simple command workflow might look like this:

mkdir -p docs-derived
libreoffice --headless --convert-to csv --outdir docs-derived docs-input/enterprise-pricing.xlsx
codex

Inside Codex, keep the prompt concrete:

Use docs-derived/enterprise-pricing.csv to update pricing validation tests.
Do not edit docs-input/enterprise-pricing.xlsx.
Show the test command you ran and name the rows that changed behavior.

The limitation is obvious: conversion is lossy. A CSV export may drop formulas, colors, hidden sheets, comments, or chart context. For anything regulated, contractual, or customer-facing, have a human open the original file too.

For adjacent CLI ergonomics, Codex Skin Themes the Codex CLI is a useful reminder that terminal agents live or die by small interface details. Document receipts are one of those details.

One methodology lens

One useful way to read this through our methodology is the Plan step: delegate first-pass decomposition and dependency mapping, review the sequencing and assumptions, and keep ownership of scope and priorities. If that split is still fuzzy, the workflow usually is too.

Common questions

How should teams start with Codex?

Start by writing down one visible team rule for Codex, not a loose preference. That usually means a short repository convention, a review checklist, and one owner who can reject agent output when the evidence is missing.

Which Codex artifact should teams standardize first?

Standardize the smallest artifact that reviewers already touch: a AGENTS.md instruction, MCP note, or verification checklist. The point is not documentation volume; it is a shared place where scope, allowed tools, expected tests, and rollback notes are visible before generated code reaches review.

How do teams know the convention is working?

The convention is working when reviewers can approve or reject agent output from the artifact and evidence alone. Track whether pull requests name the rule used, include the promised checks, and avoid replaying long sessions just to understand what changed.

Best ways to use this research

  • Best for: Codex teams deciding which AGENTS.md instruction, CLI workflow, MCP boundary, or verification loop to standardize next around “Why ChatGPT/Codex Bundles LibreOffice.”
  • Best first artifact: turn the named fix into an AGENTS.md rule, verification checklist, MCP note, or review receipt before the next automated run.
  • Best comparison angle: compare the workflow against the current Codex CLI review loop, shell boundary, and evidence trail; keep the path that leaves the shortest auditable trail.

Further reading

Next move

Take this into the related training topic and test whether a new reviewer can defend the merge without replaying the chat.