Sync Environments

Improvement
Currently Yaak syncs only collections, not environments. So if I work on 2 devices, say home and office, I find that in my other device I have a collection but no environment.
Mac

Currently Yaak syncs only collections, not environments. So if I work on 2 devices, say home and office, I find that in my other device I have a collection but no environment.
Sign in to leave a comment.
The rationale for this seems to be that environments often contain secrets. In my case, I’m not syncing any secrets, but I am using environments to manage how to construct URLs across different deployments, set up prompts, and re-use responses that cross multiple commands, etc.
Thus, not syncing environments really limits directory syncing. For me to onboard another user, I’d need to either manually export and share the environment config with them to import and then set up directory syncing, or they would manually need to set up dozens of variables, prompts, and response functions.
Here are some possible ways to support this:
Allow users to select if they want to sync environments and warn them that this could expose secrets. Buyer beware.
Allow users to mark fields in their environments as secret. The secret’s key will be synced (e.g. `AUTH_TOKEN`), but the value will not be synced. For example, it could show up as “<secret value>”.
To be more secure, when adding a new field to your environment, the field can be marked as a secret by default (e.g., with a checkbox) and must be explicitly turned off.
Allow users to marks which values should be synced. This is similar to the above, but more generic.
Just started setting up some environments and found out that they aren’t synced. I was expecting that at least the environment names and the variables within them would be included with the git integration, even if the values aren’t included.
I think a simple checkbox next to each variable indicating if that value is a secret of not would suffice. If it’s not checked, include the variable name and its value, if it is checked, only include the variable name.
I was also surprised that the variable names aren’t duplicated across all the environments, since if you’re making use of one variable in a request, you’d have to have it present in all the other environments.
It is now possible to mark an environment (including base environment) as “sharable” in the latest beta.
https://yaak.app/blog/2025.2.0-beta.8
You can toggle this behavior by right-clicking the environment within the environment edit dialog.
You will also be warned when a sharable environment contains unencrypted variables, so you don’t accidentally expose sensitive values.
https://yaak.app/blog/2025.2.0