Read File
Use this bundled skill to read text files from configured allowed directories. Prefer it over terminal commands such as cat, Get-Content, type, sed, or head when you need file contents for code understanding or manual edits.
The gateway returns stable, line-numbered text and records the exact path being read before any content is returned. This makes file reads easier to audit and safer to combine with multi_edit_file.
Input
{
"path": "src/example.rs",
"cwd": "D:/path/to/workspace",
"offset": 1,
"limit": 200,
"skillToken": "..."
}
pathis the file to read. Relative paths resolve fromcwd. Absolute paths are allowed only when they remain inside configured allowed directories.cwdis required when more than one allowed directory is configured.offsetis the 1-based starting line. Omit it to start at line 1.limitis the number of lines to return. Omit it to read up to 2000 lines. The maximum is 2000.skillTokenis required for normal file reads. The documentation read for this SKILL.md is the only call that does not require it.
Output
Returned text uses:
line_number<TAB>content
Example:
41 fn handle_request() {
42 route();
43 }
Do not include the line-number prefix or tab when copying old_string into multi_edit_file. The prefix is only for orientation and startLine hints.
The structured result includes:
pathstartLineendLinenumLinestotalLinestruncatedlineTruncatedcontent
Rules
- Use
read_filebefore manually editing an existing file unless the exact current content is already in the conversation. - Read only the focused region you need. For large files, use
offsetandlimitinstead of reading the whole file repeatedly. - Use
offsetvalues from search results or compiler diagnostics to inspect nearby context. - If
multi_edit_filereports an ambiguous or missingold_string, re-read the relevant region withread_fileand copy the current text exactly. - Do not use terminal commands for ordinary text file reads unless
read_fileis disabled, unavailable, or unsuitable for the file type. - Use terminal commands for directory listings, generated command output, test/build output, and project tools.
read_filereads files, not directories.
Limits
- Text only. Binary files are rejected.
- UTF-8 text only. Files that cannot be decoded as UTF-8 are rejected.
- Maximum file size is 10 MiB.
- Maximum returned lines per call is 2000.
- Very long individual lines are truncated in output.