Once a firm starts recording how long its coding agents work, the next question arrives quickly: what is an agent hour worth? Billing it at the developer's rate overcharges the client for work no person did. Not billing it at all hides real cost and real output. The practical answer is an agent rate: an hourly bill rate and an hourly cost rate that apply to agent time and nothing else.
This post works through setting one, using the way agent rates work in Time Trakkr.
Two numbers, not one
An agent rate has two parts, and they answer different questions.
- The cost rate is what an agent hour costs you. It feeds profitability, so a project's margin reflects the agent work it used.
- The bill rate is what the client pays for an agent hour, where they pay anything at all.
Start with the cost rate. It is the one you can calculate, and the bill rate should sit above it.
Work out a cost rate
The inputs are what the tooling costs and how many agent hours it produces. A small team might find:
| Input | Monthly |
|---|---|
| Coding-agent subscriptions, 4 developers at $200 | $800 |
| API usage beyond the subscriptions | $160 |
| Tooling cost | $960 |
| Agent hours accepted across the team | 80 |
| Cost per agent hour | $12 |
Use accepted agent hours, not hours the sessions were open, and use a few months rather than one. If the team's agent hours double next quarter while the subscriptions stay the same, the cost rate halves, so revisit it.
Do not put the developer's review time into this number. Their briefing and checking are their own hours, logged as usual at their own cost.
Choose a bill rate
There are three defensible ways to set it:
- Cost plus margin. $12 cost with a target of 75% margin on agent time gives $48 an hour. Easy to explain and easy to defend.
- Market rate for the output. What would the client pay elsewhere for the same work done by automation? Harder to measure, and more relevant for productized services.
- Not at all. On fixed-fee work, or where the agreement says the human fee includes agent work, track agent time without billing it. You keep the cost and the hours; the client sees nothing extra.
A fraction of the human rate is tempting because it is simple, but it ties the agent's price to a person's salary, which has nothing to do with what the agent costs.
Layer exceptions on top
Most firms need one workspace rate and a handful of exceptions. In Time Trakkr the order is:
- a project rule is used before its client's, and a client's before the workspace's;
- at the same level, a rule for one agent host, such as Claude Code or Codex, is used before a general one;
- a rule can be set to track but never bill, which makes agent time under it never billable. It still needs a cost rate.
Here is a set for a consultancy:
| Rule | Bill | Cost | Billable |
|---|---|---|---|
| Workspace default | $48 | $12 | Yes |
| Client: Northbeam, agreed rate | $40 | $12 | Yes |
| Project: Acme fixed-fee rebuild | – | $12 | Track, never bill |
A Claude Code session on Northbeam bills at $40. A session on the Acme rebuild is costed at $12 and never billed. Anything else bills at $48.
Agent time cannot be accepted where no rule applies. It is never billed or costed at the person's own rate instead, so set the workspace default before anyone starts.
See what it does to margin
Take a month on the Acme fixed-fee rebuild, at a $24,000 fee:
| Cost | Hours | Rate | Cost |
|---|---|---|---|
| People's time | 120 | $70 | $8,400 |
| Agent time | 45 | $12 | $540 |
| Total | $8,940 |
Margin is $15,060, or about 63%. Without the agent line it would read $15,600, or 65%: not a large error on one project, but one that grows as more of the work moves to agents, and one that hides which projects lean on them most.
Rates are fixed when time is accepted
Each agent entry keeps the rates that applied when it was accepted. Changing or removing a rule applies to time accepted from then on and never reprices an entry already accepted. Moving an accepted entry to another project re-prices it at the agent rate for where it lands.
That means a rate change does not quietly rewrite last month's invoice, and it also means a mistaken rate needs fixing before a week of sessions is accepted under it, by people or automatically at the end of each day.
What this will not do
An agent rate prices time. It does not tell you whether the agent's work was any good, and an hour spent going in circles bills the same as one that shipped. Time Trakkr also shows an estimated token cost per session, but that is a list-price estimate for your own information. It is never on an invoice and has nothing to do with the hourly agent rate.
Common questions
Should the agent rate differ between Claude Code and Codex?
Only if their cost to you differs. A rule can be limited to one agent host, so you can set different rates if your subscriptions or usage differ.
What happens to agent time accepted before we changed a rate?
Nothing. It keeps the rate it was accepted at. The new rule applies to time accepted afterwards.
Does agent time affect a person's utilization?
No. Agent time is kept out of utilization and capacity. It counts toward the project's budget, profitability and invoices, not toward the person's own hours.
Can we use the token cost estimate as our cost rate?
Use your actual bills instead. The estimate is at list price on the day you look, ignores subscriptions and discounts, and changes when prices change. A cost rate built from what you paid is steadier and closer to the truth.


