awml / platforms / codex-agent-laptop
Codex on a laptop
Codex on a person's own laptop, started on a schedule by the ChatGPT desktop app's scheduled tasks on a local project, or by cron or launchd running `codex exec`. This describes a kind of platform, not anyone's machine; AWML's example codex-laptop is a different one, where the laptop runs the workflow's own code. Checked against OpenAI's documentation on 22 October 2026.
description.yaml
description.yaml is AWML 0.4, as it was pushed. The fit reads it converted to AWML 0.8.
# Codex on a person's own laptop, started on a schedule by the ChatGPT desktop app's scheduled tasks
# on a local project, or by cron or launchd running `codex exec`. This describes a kind of platform,
# not anyone's machine; AWML's example codex-laptop is a different one, where the laptop runs the
# workflow's own code. Checked against OpenAI's documentation on 22 October 2026.
awml: "0.4"
platform: { id: codex-agent-laptop, label: "Codex on a laptop" }
# A laptop may be shut for a fortnight's holiday, as in the AWML spec's own example. Scheduled tasks
# on a local project need the computer on and the desktop app running. A laptop that never sleeps
# can say less.
# https://github.com/chrismdp/awml/blob/main/SPEC.md#placing-a-workflow-where-it-can-run
# https://learn.chatgpt.com/docs/automations
off_for_up_to: P14D
# Each run is a Codex session that carries out the task's prompt.
# https://learn.chatgpt.com/docs/automations
# https://learn.chatgpt.com/docs/non-interactive-mode
steps: agent
# Codex's own agent, signed in with ChatGPT or an OpenAI API key. Routed through Amazon Bedrock, it
# is processed on Amazon's terms instead: list amazon here then.
# https://learn.chatgpt.com/docs/auth
# https://learn.chatgpt.com/docs/amazon-bedrock
agents: [openai]
# Codex runs commands in a sandbox with network access off by default, and `codex exec` starts
# read-only. So the workflow's own code cannot call a model company until you turn on
# sandbox_workspace_write.network_access, or choose full access: say any here then.
# https://learn.chatgpt.com/docs/agent-approvals-security#network-access
# https://learn.chatgpt.com/docs/non-interactive-mode
calls: []
# A laptop holds its owner's folders. A shared description cannot know their names, so it says
# notes, as AWML's examples do: keep a workflow's contexts under notes, or name your own folders
# when you describe your own laptop.
# https://github.com/chrismdp/awml/blob/main/SPEC.md#placing-a-workflow-where-it-can-run
holds: [notes]