diff --git a/news/fix_pip_completer.rst b/news/fix_pip_completer.rst
new file mode 100644
index 00000000..7d38bbb9
--- /dev/null
+++ b/news/fix_pip_completer.rst
@@ -0,0 +1,23 @@
+**Added:**
+
+* <news item>
+
+**Changed:**
+
+* <news item>
+
+**Deprecated:**
+
+* <news item>
+
+**Removed:**
+
+* <news item>
+
+**Fixed:**
+
+* ``pip`` completer no longer erroneously fires for ``pipx``
+
+**Security:**
+
+* <news item>
diff --git a/xonsh/completers/pip.py b/xonsh/completers/pip.py
index 179689ee..25b96bcb 100644
--- a/xonsh/completers/pip.py
+++ b/xonsh/completers/pip.py
@@ -9,12 +9,12 @@ import xonsh.lazyasd as xl
 
 @xl.lazyobject
 def PIP_RE():
-    return re.compile(r"\bx?pip(?:\d|\.)*")
+    return re.compile(r"\bx?pip(?:\d|\.)*\b")
 
 
 @xl.lazyobject
 def PIP_LIST_RE():
-    return re.compile(r"\bx?pip(?:\d|\.)* (?:uninstall|show)")
+    return re.compile(r"\bx?pip(?:\d|\.)*\b (?:uninstall|show)")
 
 
 @xl.lazyobject

`pip` completion used for `pipx` command
I have `pipx` installed and its bash completion enabled (following instructions from `pipx completions`).  This works fine in Bash, but in Xonsh completion for regular `pip` is used instead.

## xonfig

<details>

```
$ xonfig
+------------------+---------------------+
| xonsh            | 0.9.17.dev2         |
| Git SHA          | 97a921c7            |
| Commit Date      | Apr 8 14:48:23 2020 |
| Python           | 3.6.9               |
| PLY              | 3.11                |
| have readline    | True                |
| prompt toolkit   | 2.0.10              |
| shell type       | prompt_toolkit2     |
| pygments         | 2.6.1               |
| on posix         | True                |
| on linux         | True                |
| distro           | ubuntu              |
| on darwin        | False               |
| on windows       | False               |
| on cygwin        | False               |
| on msys2         | False               |
| is superuser     | False               |
| default encoding | utf-8               |
| xonsh encoding   | utf-8               |
| encoding errors  | surrogateescape     |
+------------------+---------------------+
```

</details>

## Expected Behavior
`pipx` completion to be used

## Current Behavior
`pip` completion is used.

## Steps to Reproduce

* Install `pipx`
* Try `pipx <tab>`.  Notice output is the same as for `pip <tab>`

## Possible fix
Adding the following (adds a trailing `\b` to the regex) to my `.xonshrc` seems to fix it:

```py
# Temp fix for `pipx` completion
import xonsh.completers.pip
import re
xonsh.completers.pip.PIP_RE = re.compile(r"\bx?pip(?:\d|\.)*\b")
```

Did some quick tests with: `pip <tab>`, `pip2 <tab>`, `pip3 <tab>`, `pipx <tab>`, `pip.3 <tab>`, `pip3.6 <tab>` and all seemed to give the expected results.
Also tested `xpip <tab>`.  This seems to (try to) use completion but I'm getting an error here (somewhere in the jedi code, probably unrelated).

diff --git a/tests/completers/test_pip_completer.py b/tests/completers/test_pip_completer.py
index 506464ab..20991346 100644
--- a/tests/completers/test_pip_completer.py
+++ b/tests/completers/test_pip_completer.py
@@ -33,6 +33,9 @@ def test_pip_list_re(line):
         "![thewholepipandpaboodle uninstall",
         "$[littlebopip show",
         "!(boxpip uninstall",
+        "pipx",
+        "vim pip_",
+        "pip_",
     ],
 )
 def test_pip_list_re(line):

pip install -e .[dev]
parse_log_pytest
requirements.txt
apt-get update apt-get install -y gcc
3.9
requirements/development.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
-e git+https://github.com/xonsh/xonsh.git@53bfe8c99ce3c8d4396fe7c2741b19fd6555af12#egg=xonsh

name: xonsh
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - xonsh==0.9.17
prefix: /opt/conda/envs/xonsh

tests/completers/test_pip_completer.py::test_pip_list_re[pipx] tests/completers/test_pip_completer.py::test_pip_list_re[vim tests/completers/test_pip_completer.py::test_pip_list_re[pip_]
tests/completers/test_pip_completer.py::test_pip_re[pip] tests/completers/test_pip_completer.py::test_pip_re[xpip tests/completers/test_pip_completer.py::test_pip_re[$(pip] tests/completers/test_pip_completer.py::test_pip_re[![pip] tests/completers/test_pip_completer.py::test_pip_re[$[pip] tests/completers/test_pip_completer.py::test_pip_re[!(xpip] tests/completers/test_pip_completer.py::test_pip_list_re[bagpipes tests/completers/test_pip_completer.py::test_pip_list_re[toxbagpip tests/completers/test_pip_completer.py::test_pip_list_re[$(tompippery tests/completers/test_pip_completer.py::test_pip_list_re[![thewholepipandpaboodle tests/completers/test_pip_completer.py::test_pip_list_re[$[littlebopip tests/completers/test_pip_completer.py::test_pip_list_re[!(boxpip
news/fix_pip_completer.rst xonsh/completers/pip.py
news/fix_pip_completer.rst xonsh/completers/pip.py