github / github/copilot-sdk

Ensure `events.jsonl` honors inherited file-size limits

Open
#2,261 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
10.5k
Forks
1.5k
Avg merge
1d 11h
Merged PRs (30d)
127

Description

## Summary

The Copilot CLI persists session events to:

`~/.copilot/session-state//events.jsonl`

The CLI inherits the hosting process’s file-size limit. During sufficiently long
sessions, `events.jsonl` reaches that limit and the next persistence write fails:

> I/O error: File too large (os error 27)

This emits `SDK_SESSION_ERROR(persistence)` and fails the active turn.

## Request

Please ensure that `events.jsonl` remains within the file-size limit inherited by
the Copilot CLI while preserving supported session persistence and resume behavior.

If this behavior is owned by the bundled CLI runtime rather than the SDK wrappers,
please route the issue to the appropriate owner.

## Environment

- SDK: `github-copilot-sdk==1.0.7`
- Bundled CLI: 1.0.71
- Host file-size limit: 50 MB
- Platform: Linux container
- Error: `EFBIG` / `os error 27`

## Acceptance criteria

- `events.jsonl` does not exceed the inherited file-size limit.
- Long-running sessions do not fail with EFBIG due to event-log growth.
- Persisted sessions remain resumable with their expected state.

## Impact

Observed in production across real user conversations, causing repeated
Service-class turn failures.

## Reference

Internal tracking: https://microsoft.ghe.com/bic/mcs-dracarys/issues/7127

Contributor guide

Open the contributing guide

Research direction

Start by tracing persistence for ~/.copilot/session-state//events.jsonl and the path that emits SDK_SESSION_ERROR(persistence). Check how the inherited 50 MB file-size limit and EFBIG failure affect writes, then verify that long-running sessions stay within the limit and remain resumable without persistence errors.

Written by the indexing model from the issue text.

Assessment

Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.