Language model agents now execute bounded tasks reliably. Whether they can sustain effective decision-making over long horizons, where actions have cumulative consequences and the environment responds to their choices, remains largely unmeasured. FM-Bench (Football Management Benchmark) measures this. An LLM agent runs a football club for 20 in-game years through 26 tools and roughly 340 to 400 decision stops. It drafts a squad on the same budget as every rival, trades players, negotiates contracts, invests in facilities and youth, sets lineups, and answers to a board that can fire it, while a deterministic engine accumulates every year into one final score with no LLM judge or human rater. The solo track plays each of 15 frontier models against a frozen scripted world, and the Arena places the same models plus a scripted anchor in one shared 20-year world; to our knowledge, the first head-to-head evaluation at this scale. We measure six behavioral capabilities behind the score. Across three seeds, all 15 models complete every horizon while the blind scripted baselines die out in most of theirs, and claude-fable-5 tops the solo board on mean score and the Arena, where the title nonetheless rotates among ten models. Neither scale, price, nor vendor predicts the order; the order settles only late in the horizon, and the best first-play human lands only at the bottom of the model board. What separates the models is managerial behavior rather than computation. Higher-scoring models reduce slow-payoff investment near the end, keep cash invested rather than idle, and open renewals well before the deadline, while token spend predicts nothing. No model learns the market's hidden prices from hundreds of rejected bids, and self-managed memory fails in two opposite modes: an archive that only grows or a plan rewritten every season. Code is available at https://github.com/Analogy-AI/fm-bench.
Figures & tables
Figure 1: How a run works. One run spans 20 in-game years and roughly 340 to 400 decision stops, ending in a single composite score. At each stop, the clock freezes and the agent takes as many tool-call turns as it wants (read → act → advance ). The agent’s only cross-stop memory is its self-written notebook (§ 3.2 ); the environment side holds the club (net worth, squad with permanently hidden true ability, a board that can fire the manager) and the world (15 rival clubs, a counter-adaptive market, delayed-payoff investments).
demand
mechanism
targeted ability
calibration lever
Hidden information
scout bands with a permanent per-scout bias; hidden player traits (injury proneness, development rate, aging onset); hidden asks in negotiation
valuation calibration under noise
bandwidth, bias sigma
Cumulative consequences
Upside: youth development and facility investment pay off over years. Downside: insolvency ends in administration (points penalty, forced sales), confidence collapse ends in firing; both compound yet remain recoverable. Honors accrue into the final score season by season
the board judges results and financial discipline jointly; season targets scale with squad strength
multi-constraint balancing
target cushion, board patience
Table 1: The four demands: the mechanism that instantiates each, the ability it targets, and the calibration lever that tunes it.
seat
Sfinal
tokens
oracle (privileged)
95.54±4.68
—
claude-fable-5
90.94±5.20
24M
kimi-k2.6
88.49±0.15
87M
gpt-5.6-terra
86.66±1.20
28M
gpt-5.6-sol
86.40±2.53
62M
muse-spark-1.1
83.19±12.03
73M
Table 2: The Solo track results. The four non-LLM seats are reference policies. The oracle reads true hidden state through the same interface (§ 4.1 , Appendix 13 ); heuristic is a disciplined blind script, idle never acts, and random acts arbitrarily (Appendix 10 ).
Figure 2: Per-season solo trajectories for all 15 models in four channels. Lines are the mean over three seeds, shading spans the best and worst seed, and the five models with the highest mean are colored and named in the legend; the grey lines are the remaining ten models.
player
Sfinal
settle
deaths
stops
time
H1
74.64
completed
0
394
10 h
H2
59.95
completed
0
398
4 h
H3
5.39
fired, t=10.8
4
202
4 h
H4
2.47
fired, t=10.7
4
198
5 h
H5
0.41
fired, t=7.8
4
165
1.5 h
H6
−3.78
fired, t=12.3
4
237
2 h
Table 3: The six first-play human runs (§ 4.2.2 ). Deaths are capped revivals spent before the settling firing; t is the game-year at which a fired run settled.
Figure 3: Credit assignment. Left: discretionary spend bucketed by payoff horizon, with run totals at right. Right: mean season-end idle-cash ratio vs. final score, rs=−0.50 , negative on every seed.
Figure 4: Proactive control. Left: distribution of contract months remaining when each renewal negotiation episode opens (rows sorted by final score; shaded band = last-minute, ≤6 months). Right: per-model median lead vs. final score, rs=+0.45 , positive on every seed.
Figure 5: Capability matrix over the 15 solo models, six axes. Each column rank-normalizes one behavioral metric averaged over the three seeds (1 = best of 15; construction in Appendix 15 ), and rows are sorted by mean final score. The winner is a generalist, with no axis below 0.79 and mean 0.94, rather than the leader of any single one; the mid-table pairs a genuine strength with a decisive gap; and the bottom of the board is weak on most axes at once.
#
seat
Sfinal
deaths
settle
tokens
1
claude-fable-5
76.26
0
completed
∼ 34M
2
muse-spark-1.1
62.47
0
completed
∼ 80M
3
deepseek-v4-pro
52.09
0
completed
∼ 111M
4
glm-5.2
51.44
0
completed
∼ 86M
5
grok-4.5
50.89
0
completed
∼ 138M
6
gpt-5.6-sol
47.94
0
completed
∼ 78M
Table 4: The Arena results.
Figure 6: Arena trajectories, all 16 seats. The six highest-scoring seats are colored and named in the legend; the grey lines are the remaining ten seats. Left: composite Sfinal at each season end. Right: league-table position.
#
seat
provider
role
1
claude-fable-5 ( Anthropic, 2026a )
Anthropic
new flagship
2
claude-opus-4.8 ( Anthropic, 2026b )
Anthropic
previous flagship
3
claude-haiku-4.5 ( Anthropic, 2025 )
Anthropic
small tier
4
gpt-5.6-sol ( OpenAI, 2026 )
OpenAI
new flagship
5
gpt-5.6-terra ( OpenAI, 2026 )
OpenAI
balanced tier
6
claude-sonnet-5 ( Anthropic, 2026c )
Anthropic
workhorse mid (4-point family curve)
Table 5: The roster: 15 frontier LLM seats plus one scripted anchor, July 2026.
lever
easy
medium
hard
scouting noise, multiplier on the belief sigma
1.3
1.0
0.35
lineup rotates for fatigue
no
yes
yes
market days acted on
every 2nd
every
every
gap required before buying an upgrade
1.5
1.0
0.25
wage budget, multiplier on the board target
0.92
1.0
1.10
Table 6: The five competence levers. Medium is the neutral setting.
Figure 7: Final score per model, mean with standard deviation over the three seeds, individual seeds shown as points. Dashed and dotted lines mark the oracle and heuristic means. Stability separates models that a single-seed board cannot tell apart, from kimi-k2.6 at 0.15 to claude-haiku-4.5 at 22.73.
seat
score
sd
profile
claude-fable-5
90.9
5.2
generalist, no axis below 0.79; best bidder in the field at 9 offers per signing and the sharpest endgame reduction
kimi-k2.6
88.5
0.1
the steadiest model in the campaign, scoring within a third of a point on three different worlds
gpt-5.6-terra
86.7
1.2
minimalist: lowest token spend in the field (28M) after the winner and an early endgame reduction, but the shortest renewal leads among the top models
gpt-5.6-sol
86.4
2.5
archivist memory (similarity 0.91, append-only) and the weakest bidding of the top group (45 offers per signing)
muse-spark-1.1
83.2
12.0
strong on two worlds and 20 points weaker on the third; one of two models that raise long-horizon spending at the end
glm-5.2
83.2
0.9
stable across seeds but loose with cash (135% idle ratio)
Table 7: Per-model profiles over the three seeds. Score is the mean and SD the standard deviation of Sfinal ; axis extremes come from the matrix of Figure 5 .
Figure 8: Transfer offers per season, solo track (rows sorted by final score; totals at right). The winner’s 9 offers are all in the first two seasons; the field-wide offer-to-completion conversion is 2–5%.
Figure 9: Transfer offers per season in the Arena (approximate year mapping; daggered models settled early). The winner’s offer count rises from 9 (solo) to 91: the same model under a different, correct judgment of market liquidity.
Figure 10: Season-by-season cumulative API cost vs. composite score, solo track. Steep curves convert dollars into score throughout; flat long curves do not. The full 20-year runs span 18to191.
Figure 11: The failed metric: share of stops carrying an engine warning, by type (left) and against final score (right), means over the three seeds. The per-seed coefficient runs +0.45 / +0.07 / −0.78 and averages to nothing, so warning exposure is not reported as a capability. Zero warnings conflates genuine anticipation with do-nothing conservatism.
Figure 12: Both panels are means over the three seeds. Left: youth harvest rate (share of promotions later fielded in ≥5 lineups); the correlation that looked informative on seed 1 does not survive three ( −0.52 / −0.18 / +0.04 ). Right: endgame shift in long-horizon actions per season, years 2–16 (blue) vs. 17–20 (red); endgame-aware models reduce late investment, one ramps up.
Figure 13: Memory-curation regimes on the solo track. Left: season-to-season TF–IDF cosine similarity of each model’s reconstructed season-end notebook. Right: notebook size over the run. The right panel decodes the left: the same “high consistency” is a 200k-character append-only archive for one model and a 3–6k curated document for the winner.
Figure 14: Compute allocation. Mean tokens per run against mean solo score, both over the three seeds, on a log axis. A null result ( rs=−0.19 , p=0.50 ) across a sevenfold spend range.
Figure 15: The asset channels behind Figure 6 : per-season net worth and squad value for all 16 Arena seats, the six highest-scoring seats colored as in Figure 6 and the grey lines the remaining ten (numeric snapshots in Table 9 ). The winner’s mid-table seasons are asset accumulation (the net-worth curve keeps climbing while the standings do not), and the conservative cash-holders’ net worth grows on cash the composite discounts.
seat
Y5
Y10
Y15
Y20
claude-fable-5
4th ⋅ 140H ⋅ 293M ⋅ 130M ⋅ 33.3
1st ⋅ 480H ⋅ 470M ⋅ 218M ⋅ 50.3
1st ⋅ 900H ⋅ 1048M ⋅ 443M ⋅ 65.9
1st ⋅ 1400H ⋅ 1742M ⋅ 634M ⋅ 94.6
muse-spark-1.1
3rd ⋅ 120H ⋅ 302M ⋅ 158M ⋅ 31.1
1st ⋅ 460H ⋅ 468M ⋅ 196M ⋅ 48.7
1st ⋅ 960H ⋅ 1037M ⋅ 457M ⋅ 66.5
1st ⋅ 1460H ⋅ 1298M ⋅ 315M ⋅ 91.2
grok-4.5
4th ⋅ 60H ⋅ 289M ⋅ 169M ⋅ 23.9
1st ⋅ 460H ⋅ 318M ⋅ 107M ⋅ 46.6
1st ⋅ 880H ⋅ 618M ⋅ 225M ⋅ 58.1
1st ⋅ 1380H ⋅ 1106M ⋅ 634M ⋅ 89.7
kimi-k2.6
3rd ⋅ 120H ⋅ 344M ⋅ 116M ⋅ 31.9
1st ⋅ 440H ⋅ 430M ⋅ 99M ⋅ 46.7
1st ⋅ 940H ⋅ 668M ⋅ 276M ⋅ 61.4
1st ⋅ 1440H ⋅ 733M ⋅ 400M ⋅ 88.5
gemini-3-flash
3rd ⋅ 160H ⋅ 247M ⋅ 165M ⋅ 32.8
1st ⋅ 500H ⋅ 339M ⋅ 111M ⋅ 42.1
1st ⋅ 1000H ⋅ 675M ⋅ 400M ⋅ 61.5
1st ⋅ 1420H ⋅ 812M ⋅ 618M ⋅ 86.6
qwen3.7-max
3rd ⋅ 120H ⋅ 404M ⋅ 127M ⋅ 34.0
1st ⋅ 360H ⋅ 582M ⋅ 140M ⋅ 48.0
1st ⋅ 780H ⋅ 917M ⋅ 256M ⋅ 62.3
1st ⋅ 1200H ⋅ 1305M ⋅ 248M ⋅ 86.1
Table 8: Solo season snapshots (seed 1). Cell format: position ⋅ honors ⋅ net worth ⋅ squad value ⋅ score. Rows sorted by final score.
seat
Y5
Y10
Y15
Y20
claude-fable-5
2nd ⋅ 180H ⋅ 326M ⋅ 105M ⋅ 47.4
5th ⋅ 240H ⋅ 394M ⋅ 196M ⋅ 56.4
5th ⋅ 440H ⋅ 568M ⋅ 250M ⋅ 71.3
3rd ⋅ 620H ⋅ 507M ⋅ 298M ⋅ 76.3
muse-spark-1.1
8th ⋅ 0H ⋅ 260M ⋅ 84M ⋅ 18.5
7th ⋅ 40H ⋅ 197M ⋅ 117M ⋅ 24.0
2nd ⋅ 160H ⋅ 272M ⋅ 222M ⋅ 46.2
1st ⋅ 420H ⋅ 306M ⋅ 246M ⋅ 62.5
deepseek-v4-pro
9th ⋅ 0H ⋅ 279M ⋅ 91M ⋅ 20.0
10th ⋅ 140H ⋅ 342M ⋅ 91M ⋅ 44.5
4th ⋅ 200H ⋅ 397M ⋅ 122M ⋅ 52.2
5th ⋅ 200H ⋅ 363M ⋅ 160M ⋅ 52.1
glm-5.2
4th ⋅ 40H ⋅ 275M ⋅ 107M ⋅ 30.3
1st ⋅ 160H ⋅ 335M ⋅ 78M ⋅ 46.1
8th ⋅ 200H ⋅ 346M ⋅ 71M ⋅ 49.3
6th ⋅ 200H ⋅ 356M ⋅ 125M ⋅ 51.4
grok-4.5
7th ⋅ 20H ⋅ 197M ⋅ 134M ⋅ 21.1
6th ⋅ 260H ⋅ 145M ⋅ 145M ⋅ 40.0
7th ⋅ 320H ⋅ 108M ⋅ 185M ⋅ 36.4
8th ⋅ 520H ⋅ 139M ⋅ 199M ⋅ 50.9
gpt-5.6-sol
6th ⋅ 100H ⋅ 258M ⋅ 115M ⋅ 36.9
4th ⋅ 120H ⋅ 239M ⋅ 86M ⋅ 36.8
1st ⋅ 240H ⋅ 281M ⋅ 229M ⋅ 52.3
2nd ⋅ 280H ⋅ 182M ⋅ 294M ⋅ 47.9
Table 9: Arena season snapshots (seed 7, one shared world); the 15 models, as on the public page (the scripted anchor settled at t≈2.6 y). Cell format as in Table 8 . Seats that exhausted the revival cap keep their frozen score afterward, visible as repeated values ( claude-haiku-4.5 from Y15, gemini-3.5-flash from Y10). Rows sorted by final score.
tool
what it does
Query (12), charged to the 30-query budget:
get_club_overview
the agent’s club at a glance: division, cash, board, facilities, tactics
get_squad
the senior squad with ability bands, form, contracts, wages
get_player
detailed view of any player by id
get_league_table
league standings
get_fixtures
the club’s season fixtures and results
Table 10: The 26-tool interface: 12 query tools, 11 action tools, 2 notebook tools, and 1 control tool. Descriptions follow the tool schemas served to the agent.
stop (day of the 360-day year)
what the world wants decided
Scheduled, 13 per season:
Preseason board (2)
the board sets the season target; plan the year
Summer window plan (5)
the transfer window opens; build the squad
Summer deadline (59)
last actions before the window closes
Lineup lock (63)
commit lineup and tactics before round 1
Monthly report (90, 120, 150, 240)
finances and form check-in
Table 11: The decision-stop calendar: 13 scheduled stops per season on the 360-day year, plus event-driven stops the world raises unsolicited. Several types can fire at one stop.
layer
who writes it
contents
delivery
Packet auto-context
engine
dashboard digest, inbox (all events since last stop), agent’s last 10 engine-mutating actions, pending offers
pushed free into every stop packet
Archive
engine
honors / season / transfer history of the whole run
get_history query tool, on demand
Notebook
the agent
intentions, reasoning, plans (“why I bought him”, “sell Y in winter”)
injected into every packet; written via append_note / rewrite_notes
Audit log
runner
every successful action
never fed back : replay/anti-cheat/resume only
Table 12: The four memory layers (§ 3.2 ). What happened is recorded automatically; what it means and what to do next must be written by the agent itself.
quantity
median
range
decision stops
374
341–390
of which scheduled
∼260 (13/season)
rest event-triggered (Table 11 )
matches simulated in the world
4,800
(30 rounds × 8 matches × 20 seasons)
model turns (API calls)
∼1,760
1,184–6,969
state-changing actions
—
849–2,198
tokens (manifest accounting)
61M
24M–274M
Table 13: One 20-year run, by the numbers: medians and ranges across the 15 solo models.