---
schema: 1
type: video
title: 'Building on the Codex Harness — Dominik Kundel, OpenAI'
description: >-
  Building your own agent harness is daunting. So use the one that already
  powers Codex. Dominik Kundel from OpenAI's Codex developer experience team
  explains the Codex App Server, the open-source JSON-RPC protocol that wraps
  the Codex harness and powers the Codex app, the IDE extensions, and
  third-party clients in Xcode, JetBrains and more. Using an inspector he built,
  he shows the real events flowing between the Codex app and the server, then
  covers what you can control: more than 120 client messages, sign in with
  ChatGPT so users bring their own subscription, developer instructions layered
  on top of the system prompt, dynamic and deferred tools, and per-thread model
  and sandbox settings. He explains how to ship the binary, generate bindings,
  and use the Python SDK, when to use codex exec instead, and demos Codex
  running inside Doom. In this talk: • What the Codex App Server is, and how it
  compares to ACP • Customizing the agent with developer instructions and
  deferred dynamic tools • Shipping the binary, generating bindings, and the
  Python SDK • Demo: Codex running inside Doom, with tools that change the game
  SPEAKER Dominik Kundel, Developer Experience, OpenAI X: https://x.com/dkundel
  LinkedIn: https://linkedin.com/in/dkundel LINKS Codex App Server docs:
  https://developers.openai.com/codex/app-server Codex on GitHub:
  https://github.com/openai/codex Codex SDK:
  https://developers.openai.com/codex/sdk CHAPTERS 0:00 Intro 0:52 What is the
  App Server? 1:12 The protocol behind Codex 1:37 Open source, any model
  provider 2:17 How it works 3:32 Demo: inspecting live events 5:31 120+ client
  messages 6:31 Sign in with ChatGPT 6:56 Developer instructions 7:41 Dynamic
  and deferred tools 8:46 Shipping the binary 9:46 Bindings and transports 10:31
  The Python SDK 10:51 Or just ask Codex 12:00 Codex inside Doom 13:40 Demo:
  giving Doom tools 14:50 App Server vs codex exec 15:55 Three tips Recorded at
  the AI Engineer World's Fair 2026 in San Francisco. Subscribe for more talks
  from the engineers building with AI. AI Engineer: https://ai.engineer YouTube:
  https://www.youtube.com/@aiDotEngineer X: https://x.com/aiDotEngineer
  LinkedIn: https://www.linkedin.com/company/aidotengineer/ #Codex #OpenAI
  #AIEngineer
canonical: 'https://liquidgold.cc/watch/9WiBJRO84yY'
markdown: 'https://liquidgold.cc/watch/9WiBJRO84yY.md'
llms: 'https://liquidgold.cc/watch/9WiBJRO84yY/llms.txt'
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-23T22:19:27.424Z'
language: null
children: []
videoId: 9WiBJRO84yY
durationSeconds: 1088
publishedAt: '2026-10-09T15:30:04.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 23
    endSeconds: 58
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=23'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 23
    endSeconds: 58
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=23'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 68
    endSeconds: 79
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=68'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 79
    endSeconds: 90
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=79'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 111
    endSeconds: 145
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=111'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 111
    endSeconds: 145
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=111'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 111
    endSeconds: 145
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=111'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 155
    endSeconds: 222
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=155'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 155
    endSeconds: 222
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=155'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 233
    endSeconds: 333
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=233'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 233
    endSeconds: 333
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=233'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 333
    endSeconds: 345
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=333'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 345
    endSeconds: 402
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=345'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 402
    endSeconds: 412
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=402'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 424
    endSeconds: 435
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=424'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 468
    endSeconds: 479
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=468'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 479
    endSeconds: 535
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=479'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 479
    endSeconds: 535
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=479'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 479
    endSeconds: 535
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=479'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 546
    endSeconds: 590
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=546'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 590
    endSeconds: 602
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=590'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 602
    endSeconds: 637
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=602'
    heldReason: rights
  - ordinal: 22
    text: null
    startSeconds: 637
    endSeconds: 647
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=637'
    heldReason: rights
  - ordinal: 23
    text: null
    startSeconds: 659
    endSeconds: 669
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=659'
    heldReason: rights
  - ordinal: 24
    text: null
    startSeconds: 737
    endSeconds: 833
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=737'
    heldReason: rights
  - ordinal: 25
    text: null
    startSeconds: 833
    endSeconds: 845
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=833'
    heldReason: rights
  - ordinal: 26
    text: null
    startSeconds: 845
    endSeconds: 890
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=845'
    heldReason: rights
  - ordinal: 27
    text: null
    startSeconds: 890
    endSeconds: 904
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=890'
    heldReason: rights
  - ordinal: 28
    text: null
    startSeconds: 904
    endSeconds: 960
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=904'
    heldReason: rights
  - ordinal: 29
    text: null
    startSeconds: 960
    endSeconds: 972
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=960'
    heldReason: rights
  - ordinal: 30
    text: null
    startSeconds: 972
    endSeconds: 1088
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=972'
    heldReason: rights
  - ordinal: 31
    text: null
    startSeconds: 972
    endSeconds: 1088
    watch: 'https://liquidgold.cc/watch/9WiBJRO84yY?t=972'
    heldReason: rights
---


# Building on the Codex Harness — Dominik Kundel, OpenAI

Building your own agent harness is daunting. So use the one that already powers Codex. Dominik Kundel from OpenAI's Codex developer experience team explains the Codex App Server, the open-source JSON-RPC protocol that wraps the Codex harness and powers the Codex app, the IDE extensions, and third-party clients in Xcode, JetBrains and more. Using an inspector he built, he shows the real events flowing between the Codex app and the server, then covers what you can control: more than 120 client messages, sign in with ChatGPT so users bring their own subscription, developer instructions layered on top of the system prompt, dynamic and deferred tools, and per-thread model and sandbox settings. He explains how to ship the binary, generate bindings, and use the Python SDK, when to use codex exec instead, and demos Codex running inside Doom. In this talk: • What the Codex App Server is, and how it compares to ACP • Customizing the agent with developer instructions and deferred dynamic tools • Shipping the binary, generating bindings, and the Python SDK • Demo: Codex running inside Doom, with tools that change the game SPEAKER Dominik Kundel, Developer Experience, OpenAI X: https://x.com/dkundel LinkedIn: https://linkedin.com/in/dkundel LINKS Codex App Server docs: https://developers.openai.com/codex/app-server Codex on GitHub: https://github.com/openai/codex Codex SDK: https://developers.openai.com/codex/sdk CHAPTERS 0:00 Intro 0:52 What is the App Server? 1:12 The protocol behind Codex 1:37 Open source, any model provider 2:17 How it works 3:32 Demo: inspecting live events 5:31 120+ client messages 6:31 Sign in with ChatGPT 6:56 Developer instructions 7:41 Dynamic and deferred tools 8:46 Shipping the binary 9:46 Bindings and transports 10:31 The Python SDK 10:51 Or just ask Codex 12:00 Codex inside Doom 13:40 Demo: giving Doom tools 14:50 App Server vs codex exec 15:55 Three tips Recorded at the AI Engineer World's Fair 2026 in San Francisco. Subscribe for more talks from the engineers building with AI. AI Engineer: https://ai.engineer YouTube: https://www.youtube.com/@aiDotEngineer X: https://x.com/aiDotEngineer LinkedIn: https://www.linkedin.com/company/aidotengineer/ #Codex #OpenAI #AIEngineer

Canonical: https://liquidgold.cc/watch/9WiBJRO84yY · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
