@ followed by a reference to inject content directly into your message. Mibyan expands the reference inline and appends the content under an --- Attached Context --- section.
Supported References
Usage Examples
,, ., ;, !, ?) is automatically stripped from reference values.
CLI Tab Completion
In the interactive CLI, typing@ triggers autocomplete:
@shows all reference types (@diff,@staged,@file:,@folder:,@git:,@url:)@file:and@folder:trigger filesystem path completion with file size metadata- Bare
@followed by partial text shows matching files and folders from the current directory
Line Ranges
The@file: reference supports line ranges for precise content injection:
Size Limits
Context references are bounded to prevent overwhelming the model’s context window:Security
Sensitive Path Blocking
These paths are always blocked from@file: references to prevent credential exposure:
- SSH keys and config:
~/.ssh/id_rsa,~/.ssh/id_ed25519,~/.ssh/authorized_keys,~/.ssh/config - Shell profiles:
~/.bashrc,~/.zshrc,~/.profile,~/.bash_profile,~/.zprofile - Credential files:
~/.netrc,~/.pgpass,~/.npmrc,~/.pypirc - Mibyan env:
$mibyan_HOME/.env
~/.ssh/,~/.aws/,~/.gnupg/,~/.kube/,$mibyan_HOME/skills/.hub/
Path Traversal Protection
All paths are resolved relative to the working directory. References that resolve outside the allowed workspace root are rejected.Binary File Detection
Binary files are detected via MIME type and null-byte scanning. Known text extensions (.py, .md, .json, .yaml, .toml, .js, .ts, etc.) bypass MIME-based detection. Binary files are rejected with a warning.
Platform Availability
Context references are primarily a CLI feature. They work in the interactive CLI where@ triggers tab completion and references are expanded before the message is sent to the agent.
In messaging platforms (Telegram, Discord, etc.), the @ syntax is not expanded by the gateway — messages are passed through as-is. The agent itself can still reference files via the read_file, search_files, and web_extract tools.
Interaction with Context Compression
When conversation context is compressed, the expanded reference content is included in the compression summary. This means:- Large file contents injected via
@file:contribute to context usage - If the conversation is later compressed, the file content is summarized (not preserved verbatim)
- For very large files, consider using line ranges (
@file:main.py:100-200) to inject only relevant sections

