Skip to content

Add duplicate key conflict resolution for .env imports #946

Description

@teyim

Is your feature request related to a problem?

Yes. When importing or adding environment variables, Phase Console currently warns that duplicate keys exist, but it does not identify which keys are duplicated or help the user resolve them.

In my case, I imported an environment file containing 71 keys. The application reported that duplicate keys were present, but it did not show the duplicated key names, their values, or where each duplicate appeared. This made it difficult to identify and fix the issue manually.

Describe the solution you'd like

When duplicate environment variable keys are detected, Phase Console should display a conflict-resolution interface that:

  • Lists each duplicated key.
  • Shows the different values associated with that key.
  • Shows the source or line number of each occurrence, where possible.
  • Allows the user to select which value should be kept.
  • Provides options such as “Keep first,” “Keep last,” or “Choose manually.”
  • Allows the user to review and resolve all conflicts before completing the import.

For example:

DATABASE_URL was found twice:

  • Value 1: postgresql://development-database
  • Value 2: postgresql://production-database

The user could then choose the correct value before continuing.

Describe alternatives you've considered

Another alternative would be for Phase Console to reject the import and display only the names of the duplicated keys. While this would be better than the current generic warning, an interactive conflict-resolution interface would provide a much better user experience.

Additional context

This feature would be especially helpful for users importing large .env files, merging variables from multiple environments, or migrating configuration from another secrets-management platform.

At minimum, the duplicate warning should identify the affected keys. Ideally, Phase Console should also allow users to choose which duplicate value to keep without leaving the import workflow.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions