diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml
index a76e5eb3e..3d3a1f189 100644
--- a/.github/workflows/doc.yml
+++ b/.github/workflows/doc.yml
@@ -38,6 +38,7 @@ jobs:
   singleQuotePartial: {needs: build, uses: ./.github/workflows/vhs-template.yml, with: {topic: singleQuotePartial}}
   escape:             {needs: build, uses: ./.github/workflows/vhs-template.yml, with: {topic: escape}}
   redirect:           {needs: build, uses: ./.github/workflows/vhs-template.yml, with: {topic: redirect}}
+  special:            {needs: build, uses: ./.github/workflows/vhs-template.yml, with: {topic: special}}
 
   doc:
     needs:
@@ -51,6 +52,7 @@ jobs:
       - singleQuotePartial
       - escape
       - redirect
+      - special
     runs-on: ubuntu-latest
     container: ghcr.io/carapace-sh/mdbook
     steps:
diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md
index 521111e64..36ff14c8d 100644
--- a/docs/src/SUMMARY.md
+++ b/docs/src/SUMMARY.md
@@ -128,3 +128,4 @@
     - [Single Quote Partial](./development/vhs/singleQuotePartial.md)
     - [Escape](./development/vhs/escape.md)
     - [Redirect](./development/vhs/redirect.md)
+    - [Special](./development/vhs/special.md)
diff --git a/docs/src/development/vhs/special.md b/docs/src/development/vhs/special.md
new file mode 100644
index 000000000..9daf812c7
--- /dev/null
+++ b/docs/src/development/vhs/special.md
@@ -0,0 +1,18 @@
+# Special
+
+- bash
+![](./special/out/special.bash.gif)
+- elvish
+![](./special/out/special.elvish.gif)
+- fish
+![](./special/out/special.fish.gif)
+- nushell
+![](./special/out/special.nushell.gif)
+- oil
+![](./special/out/special.oil.gif)
+- powershell
+![](./special/out/special.powershell.gif)
+- xonsh
+![](./special/out/special.xonsh.gif)
+- zsh
+![](./special/out/special.zsh.gif)
diff --git a/docs/src/development/vhs/special/out/special.bash.ascii b/docs/src/development/vhs/special/out/special.bash.ascii
new file mode 100644
index 000000000..f11677f9c
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.bash.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special "p1 & < > ' \" { } \$ # | ? ( ) ;  [ ] * \\ \$() \${} \` \
+`\`"
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special "p1 & < > ' \" { } \$ # | ? ( ) ;  [ ] * \\ \$() \${} \` \
+`\`"
+ok
+>
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special "p1 & < > ' \" { } \$ # | ? ( ) ;  [ ] * \\ \$() \${} \` \
+`\`"
+ok
+>
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.elvish.ascii b/docs/src/development/vhs/special/out/special.elvish.ascii
new file mode 100644
index 000000000..13b9c4f1b
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.elvish.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special 'p1 & < > '' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+ COMPLETING argument
+p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special 'p1 & < > '' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special 'p1 & < > '' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.fish.ascii b/docs/src/development/vhs/special/out/special.fish.ascii
new file mode 100644
index 000000000..419f975e1
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.fish.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1\ \&\ \<\ \>\ \'\ \"\ \{\ \}\ \$\ \#\ \|\ \?\ \(\ \)\ \;
+\ \ \[\ \]\ \*\ \\\ \$\(\)\ \$\{\}\ `\ ``
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1\ \&\ \<\ \>\ \'\ \"\ \{\ \}\ \$\ \#\ \|\ \?\ \(\ \)\ \;
+\ \ \[\ \]\ \*\ \\\ \$\(\)\ \$\{\}\ `\ ``
+ok
+>
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1\ \&\ \<\ \>\ \'\ \"\ \{\ \}\ \$\ \#\ \|\ \?\ \(\ \)\ \;
+\ \ \[\ \]\ \*\ \\\ \$\(\)\ \$\{\}\ `\ ``
+ok
+>
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.nushell.ascii b/docs/src/development/vhs/special/out/special.nushell.ascii
new file mode 100644
index 000000000..0187bea65
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.nushell.ascii
@@ -0,0 +1,48 @@
+> >
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> > example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> > example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> > example special "p1 & < > ' \" { } $ # | ? ( ) ;  [ ] * \\ $() ${} ` ``"
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> > example special "p1 & < > ' \" { } $ # | ? ( ) ;  [ ] * \\ $() ${} ` ``"
+
+ok
+> >
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> > example special "p1 & < > ' \" { } $ # | ? ( ) ;  [ ] * \\ $() ${} ` ``"
+
+ok
+> >
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.oil.ascii b/docs/src/development/vhs/special/out/special.oil.ascii
new file mode 100644
index 000000000..c4d1be7cf
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.oil.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+  example special p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+                         ^
+[ interactive ]:3: Invalid token after redirect operator
+>
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+  example special p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+                         ^
+[ interactive ]:3: Invalid token after redirect operator
+>
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.powershell.ascii b/docs/src/development/vhs/special/out/special.powershell.ascii
new file mode 100644
index 000000000..7917ac680
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.powershell.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special 'p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special 'p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+>>
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special 'p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+>>
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.xonsh.ascii b/docs/src/development/vhs/special/out/special.xonsh.ascii
new file mode 100644
index 000000000..f108fa532
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.xonsh.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special r'p1 & < > \' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+                    p1 & < > ' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special r'p1 & < > \' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special r'p1 & < > \' " { } $ # | ? ( ) ;  [ ] * \ $() ${} ` ``'
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/out/special.zsh.ascii b/docs/src/development/vhs/special/out/special.zsh.ascii
new file mode 100644
index 000000000..fec7ba281
--- /dev/null
+++ b/docs/src/development/vhs/special/out/special.zsh.ascii
@@ -0,0 +1,48 @@
+>
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p
+
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1\ \&\ \<\ \>\ \'\ \"\ \{\ \}\ \$\ \#\ \|\ \?\ \(\ \)\ \;
+\ \ \[\ \]\ \*\ \\\ \$\(\)\ \$\{\}\ \`\ \`\`
+
+
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1\ \&\ \<\ \>\ \'\ \"\ \{\ \}\ \$\ \#\ \|\ \?\ \(\ \)\ \;
+\ \ \[\ \]\ \*\ \\\ \$\(\)\ \$\{\}\ \`\ \`\`
+ok
+>
+
+
+
+────────────────────────────────────────────────────────────────────────────────
+> example special p1\ \&\ \<\ \>\ \'\ \"\ \{\ \}\ \$\ \#\ \|\ \?\ \(\ \)\ \;
+\ \ \[\ \]\ \*\ \\\ \$\(\)\ \$\{\}\ \`\ \`\`
+ok
+>
+
+
+
+────────────────────────────────────────────────────────────────────────────────
diff --git a/docs/src/development/vhs/special/special.bash.tape b/docs/src/development/vhs/special/special.bash.tape
new file mode 100644
index 000000000..2feb8a092
--- /dev/null
+++ b/docs/src/development/vhs/special/special.bash.tape
@@ -0,0 +1,9 @@
+Source ../bash.tape
+
+Output out/special.bash.gif
+Output out/special.bash.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.elvish.tape b/docs/src/development/vhs/special/special.elvish.tape
new file mode 100644
index 000000000..0da026742
--- /dev/null
+++ b/docs/src/development/vhs/special/special.elvish.tape
@@ -0,0 +1,9 @@
+Source ../elvish.tape
+
+Output out/special.elvish.gif
+Output out/special.elvish.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.fish.tape b/docs/src/development/vhs/special/special.fish.tape
new file mode 100644
index 000000000..807b204a2
--- /dev/null
+++ b/docs/src/development/vhs/special/special.fish.tape
@@ -0,0 +1,9 @@
+Source ../fish.tape
+
+Output out/special.fish.gif
+Output out/special.fish.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.nushell.tape b/docs/src/development/vhs/special/special.nushell.tape
new file mode 100644
index 000000000..1b9ec1fa1
--- /dev/null
+++ b/docs/src/development/vhs/special/special.nushell.tape
@@ -0,0 +1,9 @@
+Source ../nushell.tape
+
+Output out/special.nushell.gif
+Output out/special.nushell.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.oil.tape b/docs/src/development/vhs/special/special.oil.tape
new file mode 100644
index 000000000..39978ecc0
--- /dev/null
+++ b/docs/src/development/vhs/special/special.oil.tape
@@ -0,0 +1,9 @@
+Source ../oil.tape
+
+Output out/special.oil.gif
+Output out/special.oil.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.powershell.tape b/docs/src/development/vhs/special/special.powershell.tape
new file mode 100644
index 000000000..42062e3f2
--- /dev/null
+++ b/docs/src/development/vhs/special/special.powershell.tape
@@ -0,0 +1,9 @@
+Source ../powershell.tape
+
+Output out/special.powershell.gif
+Output out/special.powershell.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.xonsh.tape b/docs/src/development/vhs/special/special.xonsh.tape
new file mode 100644
index 000000000..e4bfce61e
--- /dev/null
+++ b/docs/src/development/vhs/special/special.xonsh.tape
@@ -0,0 +1,9 @@
+Source ../xonsh.tape
+
+Output out/special.xonsh.gif
+Output out/special.xonsh.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2
diff --git a/docs/src/development/vhs/special/special.zsh.tape b/docs/src/development/vhs/special/special.zsh.tape
new file mode 100644
index 000000000..229f0cb0c
--- /dev/null
+++ b/docs/src/development/vhs/special/special.zsh.tape
@@ -0,0 +1,9 @@
+Source ../zsh.tape
+
+Output out/special.zsh.gif
+Output out/special.zsh.ascii
+
+Type `example special p` Sleep 1 Tab@1
+Enter
+
+Sleep 2