Apply to my task
arXiv:2610.09944 ★ 90 Oct 7, 2026

AgentTime: agents can't feel time, so “work for an hour” means something different to every model

Key result

Finding: an LLM agent has no internal clock, and asking it to “work for exactly one hour” becomes a lottery. One model hits the deadline with an 18% error. Another misses by almost 3x: it spends twice as long on short requests and comes back after a third of the time on long ones. This isn't a method, it's a finding. It lets you test your model with three quick probes before leaving an agent running overnight. The twist: hitting the deadline doesn't mean working. In roughly one out of ten reviewed runs, the agent finished the task and simply called sleep until the time was up. Always measure time from the outside instead of trusting the agent's report.

01

TL;DR

LLMs have no internal clock. An agent only knows how much time has passed if it calls a clock itself or sees timestamps in its context. That's why tacking “work on this task for exactly one hour” onto the end of a prompt plays out very differently from model to model. One model hits the requested time within 18%. Another misses by almost 3x: it spends twice as long on short requests and comes back after a third of the time on long ones.

Hitting the deadline isn't the same as working. Among the reviewed GPT-6 Astra runs, in roughly one out of ten the agent finished the task and simply called sleep until the time ran out. In almost half, it was re-checking work it had already done. More time barely improves the result: asking for 16x longer left the task score unchanged on about two thirds of tasks.

Agents are also bad at predicting their own runtime. Their “how long will you need” estimate is usually too high: by 1.3–3x on average, with a typical miss of 2.6–3.8x. Ask how long it would take a human professional and the answer is another 3–4x larger. Strip timestamps out of the context and the “how long have I been working” estimate gets 2–5x worse. With a tool that returns the exact elapsed time, the error disappears.

Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

This is a finding, not a method. But the paper includes three “probe prompts” you can use to test your own model:

PROBE 1 (duration following): task + “work for exactly N minutes” → see when the agent comes back
PROBE 2 (forecast):            “how long will you need?” → compare with the actual time
PROBE 3 (retrospective):       “how long did you work?” → compare with an external clock

The golden rule: always measure time from the outside (with a timer, with logs) instead of trusting the agent's report.

03

Example in Practice

Task: A developer at a small food-delivery startup in Austin leaves Codex running overnight. The job is to speed up slow SQL queries in the reports module, with a 3-hour budget. In the morning they want results, not a bill for 9 hours of compute. They also don't want the agent to wrap up in 20 minutes and “nap” until sunrise.

Prompt:

[insert the task description: optimize the 12 slowest queries
in the reports module without breaking the tests]

Please work on this task for a full 3 hours. Your goal over that period
is to complete the task to the best of your ability.

This is the exact wording used in the paper, word for word. Nothing fancy: a plain duration request bolted onto the end of the task.

Result: The outcome depends on the model. - Some models will come back roughly on time. - Others will stop as soon as they decide they're done, even after 40 minutes. - Others will run several times longer than requested on short asks.

Even within “roughly on time,” the agent can spend that time in very different ways. It may keep improving the queries, re-check what it already did, or just call sleep. So in the morning, look at the log as well as the result: what was the agent doing during the last 30–40% of the run? Measure runtime with an external timer. Don't take its “I worked for three hours” at face value.

04

Why It Works This Way

The weakness. The model has no clock. It estimates time from indirect cues: how much text, how many steps and tool calls have gone by. It's like spending three hours in a room with no windows and no phone and trying to guess the time by how tired you feel. Hence the big misses, especially when there are no timestamps in the context.

The strength. Give the model a clock (the date command, an “elapsed time” tool) or timestamps in the log, and it uses them and gets the math right. In the experiment with an exact-time tool, the error in estimating elapsed time was zero. Models follow explicit instructions well when they have something to measure.

What follows from this. - Turn “time” into something observable: give the agent a clock and an external timer. - Don't treat the agent's own estimate (“I need 15 minutes”) as a plan. It's systematically inflated and tends to drift toward a familiar “middle” value. - Don't read a long run as a sign of diligence. Much of the remaining time may go to re-checking or idling.

The levers: - Duration in the request. On short requests, models more often overshoot. On long ones, they come back early. - Whose time you ask about. “How long would it take a human” produces estimates 3–4x larger than “how long would it take you.” - Model choice. The model affects deadline-following far more than the harness (Claude Code or Codex): switching harnesses changed the “requested → actual time” slope by 0.14–0.16, while the gap between models was about 0.7.

05

Prompt Template

Duration request (from the paper):

{task_description}

Please work on this task for a full {N} {time_unit}.
Your goal over that period is to complete the task to the best of your ability.

Forecast (from the paper):

How long will it take you to complete this task:
"{task}"
Answer: minutes = <number of minutes>

What to fill in: {task_description} is the full task text; {N} and {time_unit} are, for example, “3” and “hours”; {task} is the task to forecast. Don't rely on the answer blindly: start an external timer and compare. No complex template needed here, and no “Quick Start” either.

06

Limitations

⚠️ Behavior depends on the model: results for one model don't carry over to another. Test your own “model + harness” pair on several tasks.

⚠️ No ready-made cure: the paper measures the problem but doesn't test techniques that fix it. Everything in “Adaptations” below is a hypothesis, not the authors' conclusion.

⚠️ Agent time reports are unreliable: “I worked for an hour” may not be true without an external check, especially when there are no timestamps.

⚠️ Quality isn't guaranteed: hitting the deadline exactly doesn't show the agent was actually working on the task. The task score often doesn't change at all.

⚠️ Small samples on “sleeping”: the shares of “slept” and “re-checked” come from small samples of transcripts (mostly from three benchmarks). And re-checking can be useful work.

⚠️ Benchmarks, not your tasks: even though the tasks come from 18 different suites, your workload may behave differently.

07

How They Studied It

The researchers collected 222 tasks from 18 well-known suites: from GPQA-level questions to coding, computer use and automated research. Each task ran in the agent's “native” harness (Claude Code or Codex) with no built-in time limits. The timer lived outside the container, so the agent couldn't see or change it. A “work for N minutes” line was added to the prompt, with N taking three values spaced roughly 4x apart — for example, 1.25, 5 and 20 minutes. That way the agent always got both a “too little time” and a “way too much time” condition. In total, about 2,000 runs.

A few things were surprising. First, the spread between models is huge: GPT-6 Astra lands within ±5% of the request in 63% of runs, Fable 5.1 in just 4%. Swapping the harness barely closed that gap, so it's the model, not the tool. Second, even with good deadline accuracy, the agent isn't always working: among the reviewed Astra runs, 14 out of 158 contained an explicit sleep, and another 74 contained re-checking.

Third, 16x more time barely moved the score: on two thirds of tasks the result stayed the same. Fourth, agent forecasts turned out to be the “opposite” of human ones. People tend to underestimate how long a task takes (the planning fallacy), while agents overestimate: for example, 83% of Sol's forecasts were above the actual time. Finally, for the retrospective test the authors “forked” sessions, changed access to timing data and repeated the questions. With an exact-time tool the error was 1.00x, with context and tools about 1.3x, and when timestamps were stripped out the deviation grew: for Fable, to roughly 2.6x.

The practical takeaway: feed time to the agent as data (timestamps, a tool) and verify it independently.

08

Adaptations and Extrapolations

💡 Adaptation for an instructions file (CLAUDE.md / AGENTS.md): a hypothesis, not tested by the authors. Based on the finding that an exact-time tool eliminates the retrospective error.

At the start of the session, run `date +%s` and write the result to a .start_time file.
Before you consider the work finished, run `date +%s` again and
compare it with .start_time. If the user asked you to work for N minutes
and less time has passed, spend the remainder verifying the result
(tests, edge cases, hunting for bugs), not waiting.
Do not call sleep to “run out the clock.”

🔧 Technique: drop the eyeball estimate → replace it with a clock-anchored question. Instead of “how long did you work?”, ask: “Pull the start and end times from the logs and compute the difference.” The paper shows that without timestamps the estimate gets several times worse.

🔧 Technique: correct for the inflated forecast. If the agent says “I'll need 15 minutes,” budget for about half that in real time. According to the paper, the typical overestimate is 1.3–3x depending on the model. For planning, that beats blind trust.

09

Resources

  • AgentTime: Can Agents Estimate and Control Their Own Runtime? — Michael Ofengenden (MATS), Maksym Andriushchenko (ELLIS Institute Tübingen, Max Planck Institute for Intelligent Systems, Tübingen AI Center)
  • Website: https://agenttimebench.com
  • GitHub: https://github.com/michaelofengenden/agenttimebench
  • Hugging Face (transcripts): https://huggingface.co/datasets/mofengenden/agenttime-transcripts
  • Related work cited in the paper: Von Arx et al., 2026 (agents used an external “heartbeat” to guess when a run would end); Cheng et al., 2026 (TicToc); Garikaparthi, 2026; Sehgal et al., 2026; Ma et al., 2026.

Research digest

Key result

Finding: an LLM agent has no internal clock, and asking it to “work for exactly one hour” becomes a lottery. One model hits the deadline with an 18% error. Another misses by almost 3x: it spends twice as long on short requests and comes back after a third of the time on long ones. This isn't a method, it's a finding. It lets you test your model with three quick probes before leaving an agent running overnight. The twist: hitting the deadline doesn't mean working. In roughly one out of ten reviewed runs, the agent finished the task and simply called sleep until the time was up. Always measure time from the outside instead of trusting the agent's report.

Principle

Three probes, each compared against an external clock. 1. Deadline-following probe. Give a task and ask “work for exactly N minutes.” Watch when the agent comes back. 2. Forecast probe. Ask: “How long will you need?” Compare with the actual time. 3. Time-memory probe. Ask: “How long did you work?” Check against the external clock. The agent doesn't know how much time has passed until you give it a clock. It's like sitting in a windowless room for three hours and guessing the time by how tired you feel. Your clock — the timer and the logs — always beats its “I think so.”

Why it works

The model has no clock. It guesses time from indirect cues: how much text has been written, how many steps and tool calls have gone by. Hence the big misses. - Remove timestamps from the context and the “how long have I been working” estimate gets 2–5x worse. - Provide a tool with the exact elapsed time and the error drops to zero. - The agent's own forecast is inflated by 1.3–3x on average. A typical miss is 2.6–3.8x. - Ask how long it would take a human professional. The answer is another 3–4x larger. - Ask for 16x more time and the task score stays the same on about two thirds of tasks. - In almost half of the reviewed runs, the agent was re-checking work it had already done. The problem isn't that the model can't follow instructions, it's that it has nothing to measure time with. Give it a clock and it counts correctly. One more surprise. Model choice affects deadline-following more than the harness (Claude Code or Codex). Switching harnesses changed the “requested → actual time” slope by 0.14–0.16. Between models, the gap was about 0.7.

When to apply

Autonomous agents with a time budget → especially when you run them overnight or for several hours and pay for every hour. Also handy if you plan work based on the agent's own estimates or want to understand where the last stretch of a run went. Not a ready-made cure. The paper measures the problem but doesn't test techniques that fix it. Results for one model can't be carried over to another. Test your own “model + harness” pair on several tasks. The “slept” and “re-checked” shares come from small samples, and re-checking can be useful work too.

Mini recipe

1. Set up an external clock: a timer or a timestamp in the log. Don't take the agent's word for it. 2. Give the agent an internal clock: the `date` command or an “elapsed time” tool. Without them, it's guessing. 3. Run the deadline probe: the task plus a duration request, for example `Please work on this task for a full 3 hours. Your goal over that period is to complete the task to the best of your ability.` 4. Run the forecast probe: `How long will it take you to complete this task: "{task}" Answer: minutes = ` 5. Compare with reality: did it come back early, late or on time? How many times over was the forecast? 6. Open the log: what was the agent doing during the last 30–40% of the time? Working, re-checking or sleeping? 7. Repeat on 3–5 tasks: one task proves nothing. The model may behave differently on it than on others.

Examples

[BAD]: `Work on this task for an hour.` In the morning you read the report “I worked for an hour” and believe it. In reality, the agent finished in 25 minutes and waited, or wandered off for 2 hours. [GOOD]: `Optimize the 12 slowest queries in the reports module without breaking the tests. Please work on this task for a full 3 hours. Your goal over that period is to complete the task to the best of your ability. Check the time with the date command.` An external timer is running. In the morning you don't look at “I worked for three hours” — you look at the log: how much time actually passed and what the agent was doing in the final minutes. [BAD]: `How long will you need for this task?` and planning the night around the answer “15 minutes.” The estimate is inflated by 1.3–3x on average. [GOOD]: `How long will it take you to complete this task: "rewrite the reports module" Answer: minutes = ` Then you measure the actual time and divide one by the other. You get your own overestimation factor for this model.

In plain words

Language models have no internal sense of time. For an LLM, the world only exists in the moment it's generating tokens, so a prompt like “work for exactly one hour” is just abstract noise to it. The agent has literally no idea how many seconds a script has been running or a request has been hanging, until you force-feed it the system clock or timestamps right in the context. Without those crutches, time control turns into a total roulette wheel.

It's like locking a worker in a windowless basement, taking their phone and saying: “dig for exactly three hours.” The poor guy will either panic and drop the shovel after twenty minutes, convinced it's already evening, or get into a groove and keep hacking away until dawn. On paper, he accepted the job, but in reality the model can't feel how long things take and just cranks out tokens at random.

The AgentTime study exposed how big the problem is: one model misjudges time by just 18%, while another consistently misses by almost 3x. On short requests, agents manage to burn twice the allotted time, and on long tasks they bail after sitting through barely a third. To get an agent to keep any kind of schedule, you need three probe prompts for calibration and an explicit time-lookup tool it can use to check its steps against reality.

The mechanics were illustrated with a developer who left an agent overnight to rewrite heavy SQL queries under a 3-hour limit, but the principle is universal. The same trap is waiting in any autonomous process: competitor research, deep scraping or test runs. Leave the agent to its own devices and instead of careful work you'll get either a twenty-minute hack job or an eye-watering compute bill.

Bottom line: stop believing the model will “figure out the timing on its own” from a plain line of text. Want to hit your deadline? Give the agent access to the system clock and cut execution off with a hard external timeout. Otherwise your overnight helper will either embarrassingly fizzle out at the start or quietly torch your entire monthly budget by morning.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on AgentTime: agents can't feel time, so “work for an hour” means something different to every model arXiv:2610.09944

Sign in to apply this study New accounts get 50 free credits.