Obsidian Links Break. Mine Donโ€™t. ![rw-book-cover](https://img.youtube.com/vi/j8TEumsWrc8/maxresdefault.jpg) ๐Ÿ”— **Source:** [Obsidian Links Break. Mine Donโ€™t.](https://www.youtube.com/watch?v=j8TEumsWrc8) > [!note]+ Document Notes > --- > tags: [obsidian, johnny-decimal, pkm, advanced-uri, things3, linking-workflows] > author: [Unnamed narrator (Johnny Decimal system context)] > source: [YouTube] > reference: [https://www.youtube.com/watch?v=j8TEumsWrc8] > date created: 2026-08-07 00:00 > --- > > [!info] Generated analysis โ€” not the author's words. Sections below are machine-written > > from the captured source. Only text inside `> [!quote]` blocks is verbatim from the author. > > Do not quote or attribute any other line to the named author. > # ๐Ÿท๏ธ Title: Obsidian links break. Mine don't. โ€” block-ID permalinks via Advanced URI > ## ๐Ÿงญ Table of Contents > - [๐Ÿ”— References](#-references) > - [๐Ÿ“ Summary](#-summary) > - [๐Ÿ“– Main Content](#-main-content) > - [๐Ÿ“š References](#-references-primary) > - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) > - [๐Ÿ“ฐ Newsletter](#-newsletter) > - [โœ… Action Items](#-action-items) > - [๐Ÿงช Hypotheses](#-hypotheses) > - [๐Ÿ“Š Methodology](#-methodology) > - [โ“ Questions](#-questions) > - [๐Ÿ”ฎ Future Research](#-future-research) > - [๐Ÿ’ก Implications](#-implications) > - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) > - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) > - [๐ŸŒ DEIB Assessment](#-deib-assessment) > - [โœ… Logical Validity](#-logical-validity) > - [๐Ÿ›ก๏ธ DARVO Analysis](#๏ธ-darvo-analysis) > - [๐ŸŽฏ Conclusion](#-conclusion) > - [๐Ÿงฑ Refactor Appendix](#-refactor-appendix) > ### ๐Ÿ”— References > - Video: https://www.youtube.com/watch?v=j8TEumsWrc8 (published 2026-08-06, ~4:34, ~1,019 transcript words) > - Obsidian Advanced URI plugin (required): https://github.com/Vinzent03/obsidian-advanced-uri > - Obsidian block references (built-in `^block-id` syntax): https://help.obsidian.md/Linking+notes+and+files/Internal+links#Link+to+a+block+in+a+note > - Johnny Decimal system: https://johnnydecimal.com/ > - Things 3 (Cultured Code): https://culturedcode.com/things/ > ## ๐Ÿ“ Summary > - **What happened.** A ~4.5-minute screencast demonstrating how to build cross-application links into Obsidian that survive file renames, by anchoring Advanced URI links to **block IDs** rather than file paths, then hand-editing the generated URI to strip the file-path parameter entirely. > - **Why it matters.** It solves a genuine and common PKM failure: links from external tools (task managers, calendars, tickets) into a note graph rot the moment you reorganize. The insight that Obsidian will resolve a block ID *without* a file path โ€” making the filename irrelevant โ€” is the load-bearing trick and is not widely known. > - **Key stakeholders.** Obsidian users running a second system (Things, Todoist, Jira, Linear); Johnny Decimal practitioners; anyone maintaining a long-lived vault where reorganization is expected rather than exceptional. > - **Risks and tradeoffs.** The "unbreakable" claim is overstated in at least three specific ways (below). The technique depends on a community plugin, on manual URI surgery, and on Obsidian's undocumented tolerance for path-less block resolution โ€” none of which carry a stability guarantee. > - **Bottom line.** A genuinely good technique with a real durability gain over the default `Copy path as Obsidian URL`, oversold as absolute. Adopt it; do not believe "impossible to break." > ## ๐Ÿ“– Main Content > - **The framing principle.** The video opens with an ethical-sounding productivity argument: your present self routinely creates work for your future self, and leaving a link is the cheap remedy. This is the emotional hook and the actual through-line โ€” the technique is secondary to the habit. > - **The failure being fixed.** Obsidian's built-in right-click โ†’ *Copy path as Obsidian URL* produces a URI containing the **file name**. Rename the file โ€” which the narrator argues you should do freely โ€” and the link dies. > - **The fix: block IDs as permalinks.** Obsidian has a built-in block-reference feature: type `^` followed by an identifier to label a block. The narrator calls these permalinks because they anchor to a *piece of text you choose* rather than to a file location. Move the block to another file and the link still resolves. > - **Naming constraints.** Block IDs accept letters, numbers, and hyphens only. Decimals are not permitted โ€” which matters because the narrator's preferred ID source is a **Johnny Decimal** number, so the decimal point is simply dropped. Multiple blocks on one page get disambiguated with an appended hyphenated word. > - **Why Johnny Decimal pairs well.** Block IDs must be unique across the whole vault. A Johnny Decimal ID is already a vault-unique identifier, so the uniqueness requirement is satisfied for free rather than by invention. > - **The tooling step.** Requires the **Advanced URI** community plugin. With the cursor on the block, `Cmd-P` โ†’ *Advanced URI: Copy URI for current block*. > - **The critical manual edit.** The generated URI contains both a file path and a block parameter. The narrator deletes everything from the `&filepath=` ampersand up to the `&block` parameter. What remains is vault + block. His stated justification is the key technical claim: as long as the block name is unique, **Obsidian does not care which file it lives in**. > - **Bidirectional linking with Things.** Getting the reverse link is simpler โ€” in Things: dots โ†’ share โ†’ copy link. The clever part is the packaging trick: he places the Things link *inside the Things project itself*, alongside the Obsidian link, producing a block that contains a useless self-reference. That redundancy is deliberate โ€” it makes the whole block copy-pasteable as a unit into Obsidian. > - **The template workflow.** Steady state is duplication, not authoring. Duplicate the Obsidian template, rename, bump the permalink number (~4 seconds). Duplicate the Things template project, update the trailing digits to match, paste the project name copied from Obsidian, then copy the whole block back. Claimed total: ~20 seconds per project. > - **Closing summary (his own).** Look for chances to help future you with links; do it with templates; use block permalinks to make the links durable; all of it composes with Johnny Decimal IDs. > ### ๐Ÿ—’๏ธ Notes > - [00:00โ€“00:08] Cold open โ€” a Thingsโ†’Obsidian link that survived a rename; "my links are unbreakable." > - [00:08โ€“00:22] The future-you argument, framed as rudeness rather than inefficiency. > - [00:23โ€“00:51] The manual-navigation anti-pattern; capture the link at creation time when you already know the location. > - [01:02โ€“01:25] Default `Copy path as Obsidian URL` demonstrated and then broken by a rename. > - [01:26โ€“01:44] Block permalinks introduced; anchored to chosen text; movable. > - [01:46โ€“02:04] `^` syntax; character restrictions โ€” letters, numbers, hyphen. > - [02:04โ€“02:22] Johnny Decimal IDs as block names; drop the decimal; vault-wide uniqueness requirement. > - [02:23โ€“02:45] Advanced URI plugin install; command palette invocation. > - [02:47โ€“03:09] **The core move** โ€” strip the file-path segment; Obsidian resolves by block ID alone. > - [03:10โ€“03:20] Paste as markdown link into Things; round trip verified. > - [03:21โ€“03:45] The deliberate self-link redundancy so the block copies as one unit. > - [03:46โ€“04:18] Template duplication workflow; ~4 seconds Obsidian, ~20 seconds end to end. > - [04:19โ€“04:34] Summary and Johnny Decimal tie-in. > ## ๐Ÿ“š References (primary) > - Obsidian Help โ€” internal links and block references (authoritative for `^block-id` syntax and constraints) > - Advanced URI plugin repository and docs (authoritative for the `Copy URI for current block` command and parameter names) > - Johnny Decimal โ€” the numbering system supplying vault-unique IDs > - Things 3 URL scheme documentation (for the reverse link) > ## ๐Ÿ—ฃ๏ธ Paraphrase > - **Opening.** A link from Things into Obsidian still works despite the target file having been renamed long ago, because it is not anchored to the filename. > - **The argument.** Present-you knows where things are; future-you will not. Leaving a link at creation time is a small courtesy that compounds. > - **The default is fragile.** Obsidian's own URL-copying command bakes the file name into the URI, so renaming breaks it โ€” and you should be renaming freely. > - **The mechanism.** Obsidian block IDs (`^identifier`) label a specific block of text. Links to that ID follow the text, not the file. > - **Constra This link from Things back to Obsidian should be broken because I renamed the file that it points to ages ago, but my links are unbreakable. Here's how. Current You, this you, wastes Future You's time all the time. It's actually really rude when you think about it, because when Current You knows that Future You is going to want to know where something is, do something about it. Leave them a link. Here's what you do. You're in Obsidian working on this thing, and you want to be in that same project in Things or anywhere else. It's the same principle. So you click over here and you find it every time, and you remember exactly where it is, and it's not in that area, and you put it in here and you're fumbling around. And this is just boring and pointless. Don't do this. When I created this project, I knew exactly where it was because I was in it at the time. I just created it. So at that point, I put a link over here in Obsidian. And so Future Me now, all of them forever, can just click this link now. And I've put a link back from Things to Obsidian, so I can just ping-pong around between the two. It takes about 20 seconds to create them. I'll show you that at the end. By default, you can just right-click on a file or in a tab anywhere in Obsidian and Copy Path as Obsidian URL, and that'll give you this URL, which you can use to open the note again. But I don't use that because if you look at the URL, see how it's got the filename in it. Well, let's now rename that file, which is a thing you shouldn't be afraid to do. You're going to rename stuff all the time, and now that link is broken. So that's rubbish. Don't do that. Here's a better way. My links look like this. They anchor to this piece of text that you choose. So that's why I call it a 'permalink'. So these links are impossible to break. The filename has become irrelevant. And you can even move this permalink around if you want, and the link will always bring you to this spot. So the secret is these permalinks, which you create and name. And this is a built-in feature in Obsidian called a 'block'. You type the caret symbol and then some text to define a block. There are restrictions on the characters you can use. Not many, to be honest, but if it's tiny and grey like this, it's good, and if it's in normal text like this, it's not going to work. Stick with characters, numbers, and the hyphen. I'm usually in a note with a Johnny.Decimal ID, so I'll use that ID as the block name. You can't use decimals, so I just leave it out. If you've got more than one block on a page, you can add more words with a dash. Because these blocks need to be unique in your vault, which is why using Johnny.Decimal IDs is nice. You've already got a unique ID right there that you can use. To link to this permalink, you need the Advanced URI community plugin. So find it and install it. And URI is just a technical term for a link. This next bit looks fussy, but you've only really got to do it once, and then you can just use copy/paste in the future. Because when your cursor is on the permalink you just created, hit Command + P to bring up the Command Palette, find Advanced URI, Copy URI for current block, and you can just type that out and find it. And now if we have a look at the link that's created, it'll look something like this. The trick now is to find the part that contains the filepath and just rip it out. So from this ampersand before filepath, down to this one just before block, just delete all of that. What's left is a link to this specific block in this specific vault. And as long as that block name is unique, Obsidian doesn't care which file it's in. Let's stick this in our Things project as a markdown link, and now clicking that takes us back to Obsidian. Getting a link back to the Things project is simpler. You click the dots, Share, Copy Link. And now here's a trick for simplicity. We're going to add this link below this one. So we're in Things, and we're linking to Things. Well, yeah, we're never going to use this link, but now we can just copy this whole block and paste it over into Obsidian. Because who cares that each block has this superfluous link to itself? Just ignore it. Don't click it. Clicking it doesn't do anything anyway. But it makes this act of creating this block, of duplicating this thing, much simpler every time. Because here's what I actually do when I create a new project. I right-click and duplicate my template, I rename it, and I update the permalink number. It takes about four seconds, and now I've got this link ready to go. Then over in Things, I've got a template project. I right-click that, Duplicate, and just update these last few numbers in the link to match. Don't bother typing the project name into Things. You should have copied that out of Obsidian and just paste it in here. And now grab the link to this project, paste it in here, copy the whole block, and paste it over to Obsidian. And you can see how that actually takes about 20 seconds once you've got it all set up. So in summary, always be looking for opportunities to help future you by leaving yourself links. Always be looking for opportunities to help future you by doing that with templates. To make those links better, use the Obsidian permalink thing I just showed you. And all of this works really nicely with Johnny.Decimal IDs., Obsidian Links Break. Mine Donโ€™t., YouTube, 01kze566999449qpmkx286ffda.