| Crates.io | posh-tabcomplete |
| lib.rs | posh-tabcomplete |
| version | 0.5.0 |
| created_at | 2023-03-09 14:28:05.42394+00 |
| updated_at | 2025-03-31 11:51:00.945045+00 |
| description | Blazing fast tab completion for powershell. |
| homepage | |
| repository | https://github.com/domsleee/posh-tabcomplete |
| max_upload_size | |
| id | 805686 |
| size | 363,126 |
Blazing fast tab completion for powershell and pwsh.

This video is using the MenuComplete binding in code $PROFILE:
Set-PSReadLineKeyHandler -Key Tab MenuComplete
Features:
.nu files, with built in support for commmon tasks like git and npm runBy default, completions.nu is used. An alternative .nu file can be specified in the TABCOMPLETE_FILE environment variable.
There are binaries available in releases, or with one of these commands:
| Repository | Instructions |
|---|---|
| crates.io | cargo install posh-tabcomplete --locked |
Add this line to your profile, you can edit this by typing code $PROFILE in powershell:
Invoke-Expression (&posh-tabcomplete init | Out-String)
The completions packaged with the binary in completions.nu are:
To run these, run ./benchmark/benchmark_all.ps1
| Benchmark | Results |
|---|---|
benchmark/init - startup time |
posh-tabcomplete: 42ms, posh-git: 268ms (6.38x faster) |
benchmark/complete - tab completion (100 branches) |
posh-tabcomplete: 80ms, posh-git: 176ms (2.2x faster) |
Functions are supported. For example, the completion of gco in the demo is:
function gco() { git checkout $args }
There is no support for alias completions at this time.
See completions.nu:
git
branchcheckoutcherry-pickfetchmergepushrebaseswitchdiffnpm
run