# ERROR: Project has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook. Cannot build editable. The build backend does not support the 'build_editable' hook.

- **ID:** `pip/pep-660-editable-install-fails-no-build-backend`
- **Domain:** pip
- **Category:** build_error
- **Error Code:** `ERROR`
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The build backend specified in pyproject.toml (e.g., an older version of setuptools or a custom backend) does not implement the PEP 660 `build_editable` hook, which is required for editable installs using `pip install -e`.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| pip 21.3 | active | — | — |
| pip 23.0 | active | — | — |
| pip 23.2.1 | active | — | — |

## Workarounds

1. **Upgrade the build backend to a version that supports PEP 660. For setuptools: `pip install --upgrade setuptools>=64.0.0`. For flit: `pip install --upgrade flit_core>=3.8.0`. Then retry `pip install -e .`.** (85% success)
   ```
   Upgrade the build backend to a version that supports PEP 660. For setuptools: `pip install --upgrade setuptools>=64.0.0`. For flit: `pip install --upgrade flit_core>=3.8.0`. Then retry `pip install -e .`.
   ```
2. **Switch to a non-editable install temporarily: `pip install .` instead of `pip install -e .`. This bypasses the `build_editable` hook requirement.** (95% success)
   ```
   Switch to a non-editable install temporarily: `pip install .` instead of `pip install -e .`. This bypasses the `build_editable` hook requirement.
   ```

## Dead Ends

- **** — The `--no-build-isolation` flag does not add the missing `build_editable` hook; it only prevents pip from creating a temporary build environment. The backend still lacks the hook. (90% fail)
- **** — This config setting is for setuptools specifically and only works if the backend already supports editable installs; it does not add the missing hook. (85% fail)
