ZIm/docs/src/development.md
Marshall Bowers a1223e0646
Use the development credentials provider in development by default (#25273)
This PR changes the default credentials provider used in developments
builds of Zed to the development credentials provider.

Previously this required setting `ZED_DEVELOPMENT_AUTH=1` in order to
opt-in to the development credentials provider.

This led to confusion for new Zed employees who did not know that this
environment variable existed.

If you do need to interact with the system keychain for some reason, you
can run Zed with:

```
ZED_DEVELOPMENT_USE_KEYCHAIN=1
```

`ZED_DEVELOPMENT_AUTH` is dead. Long live Zed development auth!

Release Notes:

- N/A
2025-02-20 19:07:16 +00:00

1.6 KiB

Developing Zed

See the platform-specific instructions for building Zed from source:

If you'd like to develop collaboration features, additionally see:

Keychain access

Zed stores secrets in the system keychain.

However, when running a development build of Zed on macOS (and perhaps other platforms) trying to access the keychain results in a lot of keychain prompts that require entering your password over and over.

On macOS this is caused by the development build not having a stable identity. Even if you choose the "Always Allow" option, the OS will still prompt you for your password again the next time something changes in the binary.

This quickly becomes annoying and impedes development speed.

That is why, by default, when running a development build of Zed an alternative credential provider is used in order to bypass the system keychain.

Note: This is only the case for development builds. For all non-development release channels the system keychain is always used.

If you need to test something out using the real system keychain in a development build, run Zed with the following environment variable set:

ZED_DEVELOPMENT_USE_KEYCHAIN=1