Get Outgoing Links
vault_get_outgoing_linksLists every note, file, embed, and wikilink a note or canvas links to, helping audit broken links, check dependencies before editing, or navigate the vault graph forward.
Instructions
Find all notes and files a given note or canvas links to. For notes: [[wikilinks]], markdown, ![[embeds]], and wikilinks inside properties (e.g. related:). For canvas files: file nodes, not links inside text cards. Links inside code blocks are ignored; self-links are included. Each target is listed once, however often the note links to it.
Example: vault_get_outgoing_links({ path: "Projects/vault-cortex.md" }) Example: vault_get_outgoing_links({ path: "Diagrams/architecture.canvas" })
When to use: Navigating the graph forward, auditing broken links in one note or canvas, or checking dependencies before editing. For incoming links (what links TO a note), use vault_get_backlinks.
Behavior: Results can lag a file change by a few seconds.
Returns: JSON with path, outgoing_links (array of { path, title, exists, kind, bytes, daily_note_forward_ref } sorted by target path), and count. A target's path is the vault-relative path the link resolved to; a broken link's path is its target text without any #heading or |alias, with a markdown link's %-escapes decoded. When exists is true, kind "note" is a markdown note readable via vault_read_note and kind "file" a non-markdown file (.canvas, image, PDF) readable via vault_read_file; when exists is false the link is broken and kind is "note" even for a path like "diagram.png". title is null for files and broken links. daily_note_forward_ref is true on a broken link into the daily notes folder (a daily note not yet created, not breakage) and false otherwise, including when Obsidian's Daily Notes folder setting is the vault root or blank. bytes is the on-disk size (null for broken links), not the delivery cost: vault_read_file downscales a large image to fit response limits.
Errors:
"path must end in …" — add the .md or .canvas extension
A path that does not exist, or one in a dot-prefixed folder, returns an empty result (count 0), not an error, just as a note with no outbound links does; a note or canvas created or moved in the last few seconds may not appear yet. If you expected links, find valid paths with vault_search, vault_list_notes, or vault_list_files.
"[SqliteError]: …" — the index failed, not the call; the message says what to do
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"path": "<path>"
},
"name": "vault_get_outgoing_links"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Exact vault-relative path including .md or .canvas extension (e.g. "Projects/vault-cortex.md"). Case-sensitive. |