How on earth can I add a pipe ( | ) inside of an inline code block within a table without it rendering a backslash before it?

What I’m trying to do

I’m simply trying to include a pipe in an inline code block within a table. This is my markdown code:

### Completions Database

| Tool                    | Add to PROFILE                                                          |
|:----------------------- |:----------------------------------------------------------------------- |
| Kubernetes (kubectl)    | `. "C:\BIN\completions\_kubectl.ps1"`                                   |
| fnm (Fast Node Manager) | `fnm completions --shell powershell \| Out-String \| Invoke-Expression` |

The above renders as:

I assume the backslash escapes the pipe (since a bare pipe would add another column), but the backslash should most definitely not be rendered.

How can I get Obsidian to render the pipe without a backslash in my inline code?

Things I have tried

Nothing. I’m not sure of any alternative syntax to try.

Can someone direct me to a solution here?

Update: Using <code>

I managed to get it to work with:

<code>fnm completions --shell powershell &#124; Out-String &#124; Invoke-Expression</code>

So my table now looks like this:

| Tool                    | Add to PROFILE                                                          |
|:----------------------- |:----------------------------------------------------------------------- |
| Kubernetes (kubectl)    | `. "C:\BIN\completions\_kubectl.ps1"`                                   |
| fnm (Fast Node Manager) | <code>fnm completions --shell powershell &#124; Out-String &#124; Invoke-Expression</code> |

But a remaining question exists. In GitHub Flavored Markdown (GFM), the backslash escape before a pipe works properly. Are there any future plans to get the backslash escape syntax to work in a normal inline code block?

I have a similar problem! I’m using aliases in markdown links within a table. When I initially type it, everything works fine. Like this:

| Header 1        | Header 2 |
| --------------- | -------- |
| [[Link|Alias]]  | Text     |
| [[Link|Alias]]  | Text     |

But sometimes I’ll go to that note to find it randomly starts rendering some of the alias pipes as a column break, creating a whole new column and putting the alias in it, and bumping everything in the neighboring column into that new column. Like this:

| Header 1        | Header 2 |  extra column |
| --------------- | -------- | ------------- |
| [[Link          |Alias]]   | Text          |
| [[Link|Alias]]  | Text     |               |

No clue why it’ll render properly at first and then randomly switch to this sometimes, but it’s annoying and I don’t know how to fix it (other than just not using aliases inside tables).


Edit: I have no idea why the code blocks above changed some of the pipes (|) in the sample table markdown into forward slashes (/) but pretend those are pipes, that’s what they’re supposed to be.

@CMYKenna, in your case, if you are writing the table by hand, you need to escape the pipe in in the link before the Alias: e.g.

| Header 1 | Header 2     |
| -------- | --------     |
| [[Link\|Alias]] | text  |
| [[Link\|Alias]] | text  |

CleanShot 2026-06-07 at 14.33.27

https://obsidian.md/help/advanced-syntax#Format+content+within+a+table


If you are using the table editor (i.e. not writing the table by hand), that should be taken care of without manually typing it:

CleanShot 2026-06-07 at 14.35.21

@futuremotion Your issue look related to this BR:

I’m using live preview mode (so the table editor). And it does seem to work properly at first, as mentioned, but will just randomly break when I return to the note at times.