Session logs on your computer

DataMind Oda keeps every chat's lasting record as session log files on your computer. This page shows where the files live, how Oda names and keeps them, and how to open, back up or inspect them. For the messages Oda shows when a log has a problem, see Session log problems.

Where session logs live

All of your session logs sit under a single folder on the computer; this page calls it the log folder.

A chat with more than one generation of its log, compression on, looks like this:

text
<log folder>/
  --<working folder>--/
    <chat folder>/
      session.jsonl.zstd
      session.v4.jsonl.zstd

A chat with compression off keeps the same names without .zstd.

How log files are named and kept

Opening a chat written by a different version of Oda is covered in Opening sessions from other versions.

When a chat first reaches disk

Compressed and plain logs

One writer at a time

Nothing is deleted automatically

Keep a copy of your chats

Reading part of a log

The full format of a log, and what its records hold, is covered in Chat log format.

Values Oda keeps to reopen a chat quickly

Besides the log, Oda keeps small current values built from it, so it can show a chat's state without reading every event again.

Questions, answered

Where are my session logs kept on this computer?

All of a chat's logs live under one log folder on the computer. Inside it, chats are grouped by the folder they work in, and every chat has a folder of its own. The log folder has no default: it is set for the installation, so if you are not sure which folder was chosen, ask your DataMind OS administrator.

When does a chat first reach disk?

A chat writes its first file only after it first has content to save. Until then nothing exists for it, and a chat you never used leaves no files even if Oda stops suddenly. The first save writes the file's first line and the first events; later saves add to the end.

Which file is my chat's current state, and what are the others?

A chat can have several generations of its log side by side: session.jsonl from the oldest format, and session.v<N>.jsonl files from later ones, with .zstd added when compression is on. The newest file is the chat's current state, and the older ones stay exactly as they were; Oda never renames, replaces, moves or deletes them.

What is the session.lock file?

On some systems, Oda keeps a small file named session.lock in a chat's folder while the chat is being written, to keep one writer at a time. It can stay there after the writer releases it. If a chat stays locked because the process holding it cannot continue, deleting this file frees the chat for the next writer; do this only when you are sure that process will not write the chat again.

Does Oda ever delete or trim old log files?

No. Oda keeps every generation, and there is no cleanup, no retention limit and no delete-all action. Log files stay until someone removes them, so remove what you no longer need yourself and keep copies of what matters.

How do I keep a safe copy of my chats?

Copy the whole log folder to a safe place. Every chat folder is complete on its own, older generations included, so the copy holds whole chats. To use the copy, restore it keeping the folder shape and the same form; Oda refuses a log kept in the wrong place or the wrong form rather than reading it wrongly.

Can I open a log file in a text editor?

Yes, when compression is off: the log is plain text, one JSON object per line. With the default compression, read the chat in Oda, because the compressed form is built to be read by Oda. Do not edit a log file by hand: Oda checks the log files it opens and refuses one that no longer passes its checks rather than guess.

I renamed or moved a log file and Oda does not see it. Why?

Oda reads a log only under its exact generation name and inside its chat's folder, in the shape and form it saved. A renamed copy, such as session.v1.backup.jsonl, is not treated as a log, and a file moved out of place is refused. Restore the original name and place from your backup, or keep the file for support.

How does Oda reopen a long chat without reading its whole log?

Oda keeps small current values built from the log and can save checkpoints of them, so opening a chat does not work through every event again. A checkpoint that no longer fits the log is not served as current; Oda builds the values again from the start. A value from a checkpoint can trail the log, but it is never wrong.

Does everything in my chat's log reach the model?

No. The model's history is built from your messages, Oda's answers, and its tool calls and results. Records kept for the file only never enter it, such as approval decisions, your feedback, permission and plan choices, the changed-files list, file-restore notes, scheduled-run markers and hook records.