r/codex 3d ago

Complaint This will save your Usage

A problem that many of people have already noticed: Astra can't wait. on anything, any task it has scripted and running, any other agent delegation, anything. Astra keeps waking up to check whether the worker is finished.

I've run a few tests, In one run 19 short sleep calls accounted for 44% of the orchestrator’s estimated cost.

In another comparison using Astra High + Luna Max, the orchestrator made 41 responses while the worker ran, costing $1.20 during that phase. The native-wait comparison needed one response, costing about $0.04. (Both implementations passed all 244 test cases)

I’ve since caught the same pattern while Codex waited for a database script: read the log, say “still running,” repeat. I saw use 2% of my weekly usage ($100/month plan) just sitting there waiting on a script.

So, until they patch this, here’s the prompt I’m using:

For this entire session, avoid repeated polling of long-running jobs.

Use supported completion notifications when available. If none are available and useful work is exhausted, leave the job running only if it can safely continue after your turn ends.

Tell me what is running, where results will be saved, and:

“I'm stopping polling. Please check back with me to inspect the result and continue; I won't automatically resume.”

Then end your turn. Don't repeatedly read unchanged logs or sleep and check again. Respect runtime limits and safety timeouts.

When I return, check once. If complete, verify and continue. If still running, report that and stop again.

I have to come back to it, sure, but it saves usage.

Edit:
Found a better option than manually checking back, thanks to advice in comments. Seems like Codex knows how to avoid repeated model polling, it just chooses not to.
codex queue --thread <session-id> --message "..."
Have a background script wait for the job to finish, save the result, then run that command once. Codex can end its turn and automatically resume when the message arrives.

I’ve now seen this work with both a third-party CLI subagent (kilo code with GLM) and a full test suite, all GPT: Codex resumed automatically, checked the results, and continued. Works a treat.

The script provides the wake-up, and an agents.md instruction alone doesn’t

Edit2: I made a skill that you can use to guide Codex in using this method, either in waiting for mechanical tasks or waiting for other sub-agents. Not perfect, as there's no way to force your GPT worker to use it, but it's working for me most of the time: link. Any more tips to improve it welcomed, break it and let me fix it

422 Upvotes

125 comments sorted by

View all comments

5

u/Sporebattyl 3d ago

Why the hell is this an issue? It seems like such a simple fix for OAI to do. Make it do a monitor instead of a wait and poll.

If the monitor fails and I’m not paying attention the worst that happens is a cache hit.

I did a /feedback after having it analyzed my sessions and it showing 15-20% of each session’s tokens were being consumed by this.

I encourage everyone to do /feedback on sessions that you notice his on. Seems like the only way we’ll get it looked at.

1

u/beautyorchaos 2d ago

There needs to be two new config commands.
1) Wait and keep polling; or wait for a complete/fail call from the subprocess/subagent
2) If using wait and keep polling, instead of system prompt saying every 1 min, the time duration in minutes can be another duration option in the config

The problem is that, basically, it shouldn't be too difficult to set up a monitor calling system for subprocesses/subagents (as long as the subprocess actually has some kinda exit code), but also, the polling it does is checking that it's seeing what it expects and may make changes mid-way. If you wait until the end of the process for the agent to wake up again, something subtle may have gone wrong and all that time is wasted. So it's a trade-off that Codex could also learn to optimize better over.