DOOM runs inside ChatGPT and Claude
- Chris Nager said on April 17 he built a playable DOOM app that runs inline inside compatible ChatGPT and Claude clients using MCP. (chrisnager.com) - The setup uses Cloudflare's doom-wasm, Freedoom Phase 1 content, and a signed launch URL; Vandal said users can start it by typing “play doom.” (chrisnager.com) - Vandal said on May 17 the app could be added in ChatGPT or Claude through Nager’s MCP endpoint at chrisnager.com/doom/mcp. (vandal.elespanol.com)
Chris Nager published a blog post on April 17 saying he had built a playable DOOM app that runs inline inside compatible AI clients including ChatGPT and Claude. The project does not require users to leave the chat window when the host supports embedded app views, according to Nager’s write-up. (chrisnager.com) Vandal reported on May 17 that the demo was already being shown running inside both chatbots in a browser. Engadget also described the project as a playable DOOM app that launches inline within ChatGPT and Claude. ### Who built it, and what exactly runs inside the chat? Chris Nager identified himself in the post as the builder of “a playable DOOM MCP app” for ChatGPT and Claude. (vandal.elespanol.com) In his description, the app uses MCP — short for Model Context Protocol — to let a chatbot host render an interactive game view inside the conversation when that host supports inline UI. The browser runtime is based on Cloudflare’s doom-wasm, Nager wrote, and the default game content is Freedoom Phase 1 so the project remains redistributable. That means the in-chat version is not shipping the original commercial 1993 game assets, but an open-content replacement built to work with the same style of engine. (chrisnager.com) ### How does the game start from a chatbot prompt? Vandal reported that users can start the game by typing “play doom” once ChatGPT or Claude is connected to Nager’s app. The outlet said the game then appears on the same screen used to chat with the bot, rather than opening a separate application or a new browser tab. (chrisnager.com) Nager wrote that the project has two main jobs: create a DOOM session inside an MCP app view when inline UI is supported, and return a normal launch URL when it is not. He said one tool creates a DOOM session, another returns a plain launch URL, and a signed token in the URL is enough to boot the game. (chrisnager.com) ### Why was getting DOOM into ChatGPT and Claude harder than running it in a browser? Nager wrote that running DOOM in a browser was the easy part and that the harder work came from making the same session function across clients with different iframe, content security policy and UI rendering rules. He said early embedded versions used nested iframes and ran into browser security and host restrictions. (vandal.elespanol.com) His solution, as summarized by Vandal, was to treat the MCP app more like the browser page itself than as a simple viewer. Vandal said Nager also described MCP apps as “new and interesting” in the blog post. (chrisnager.com) ### Is this the only DOOM-on-AI project? GitHub shows other DOOM-related MCP experiments, but they are different projects. One repository from Gunnar Grosch describes a Rust MCP server that lets an AI client play DOOM through tool calls and text-based game state updates in clients such as Claude Code and Cursor. Nager’s project is distinct because his write-up and the coverage from Vandal and Engadget describe an inline visual app view inside ChatGPT and Claude, with a browser fallback when the host cannot render that UI. (chrisnager.com) ### Where can people find it next? Vandal reported on May 17 that users could add the app in connected applications for ChatGPT or Claude through Nager’s MCP endpoint at chrisnager.com/doom/mcp. (vandal.elespanol.com) The same report said Nager was also showing a beta version running in the iPhone apps for ChatGPT and Claude. Nager’s April 17 post said the deployed project uses dedicated routes for `/doom/play` and `/doom/mcp`, which are the pieces that power the browser and MCP versions of the demo. (github.com) (chrisnager.com)