Cambiar en bloque las apps predeterminadas en Mac con Defaultly, incluso para abrir .env, Dockerfile y archivos sin extensión con tu editor
Si programas en Mac, los archivos sin extensión como .env, .gitignore o Dockerfile son un incordio constante: al hacer doble clic se abren en TextEdit o directamente no se abren. Cambiarlos a VS Code o Zed con «Obtener información › Abrir con › Cambiar todo…» del Finder no sirve de nada, y «Abrir siempre con esta aplicación» solo afecta al archivo que tienes seleccionado.
El motivo es que macOS clasifica la mayoría de los archivos sin extensión como public.data y no deja que ninguna app sea la predeterminada para ese tipo. Si intentas cambiarlo con herramientas de línea de comandos, solo obtienes el error -50.
El otro problema es que las asociaciones de archivos te las quitan a menudo. Instalas una app nueva (Xcode es el caso típico) y puede quedarse con las asociaciones que tenías configuradas. macOS no avisa ni ofrece forma de recuperarlo todo de una vez: hay que volver a cambiarlas formato a formato, y desde macOS 26.4 encima hay que confirmar cada tipo.
Por eso escribí Defaultly, una app gratuita y de código abierto para macOS que gestiona desde una sola ventana las apps predeterminadas de los tipos de archivo, las extensiones y los enlaces.

Qué hace Defaultly
- Apps predeterminadas por grupo: los tipos de archivo se agrupan por finalidad (Texto, Markdown, Código, Configuración y datos, Archivos sin extensión, PDF, Documentos, Imágenes, Vídeo, Audio, Archivos comprimidos). Cada grupo tiene un menú de app y se configura entero de una vez, sin confirmar formato por formato; los cambios surten efecto en unos segundos.
- Archivos sin extensión:
.env,Dockerfile,.gitignorey.npmrcse abren con el editor que elijas, aunque ese editor no declare que los admite. - Excepciones por formato: despliega un grupo para asignar una app distinta a un formato concreto como
.mdo.py. Si luego cambias la app del grupo, esos formatos no se ven afectados. - Extensiones personalizadas: añade extensiones que no estén en la lista, incluidas
.go,.rs,.kt,.darty.lua, que macOS solo reconoce como tipos temporales. - Apps predeterminadas para enlaces: web (
http,https), correo (mailto), suscripciones de calendario (webcal), llamadas, mensajes de texto, FaceTime, SSH, FTP y compartir pantalla. Puedes elegir una app para cada uno o «No abrir», por ejemplo para que al pulsar un número de teléfono en una web ya no se inicie una llamada. - Diagnóstico: suelta un archivo para ver por qué se abre con cierta app y cambiarla ahí mismo; suelta una carpeta para encontrar los archivos que tienen su propio ajuste «Abrir con» y eliminarlo.
- Avisos de apropiación: cuando Xcode, un navegador u otra app se queda con una asociación que configuraste, Defaultly muestra un aviso para recuperarla con un clic.
- Deshacer y restaurar: antes de cada cambio se guarda una instantánea. Puedes deshacer con
⌘Zo volver al estado anterior a la primera vez que abriste Defaultly, con una vista previa de cada cambio antes de aplicarlo. - Desinstalación limpia: el desinstalador integrado devuelve primero cada asociación a su app original y luego manda Defaultly a la Papelera.
- 15 idiomas: la interfaz está en 15 idiomas, entre ellos español, inglés, chino simplificado, chino tradicional y japonés, y se puede cambiar dentro de la app.
Defaultly no se ejecuta en segundo plano, no tiene ítems de inicio de sesión, no se conecta a internet y no recopila datos.
Instalar Defaultly
Necesitas macOS 26 Tahoe o posterior.
- Abre la página de Releases y, en Assets de la última versión, descarga
Defaultly-<version>.dmg. - Haz doble clic en el DMG para abrirlo y arrastra Defaultly a la carpeta «Aplicaciones» que aparece en la misma ventana.
- Expulsa el DMG y abre Defaultly desde la carpeta «Aplicaciones».
No hay instalador ni hace falta contraseña de administrador. Para actualizar, descarga el DMG nuevo y vuelve a arrastrarlo para sustituir la versión anterior; los ajustes, las reglas y las instantáneas se conservan.
Primer arranque: permitir una app sin notarizar
Defaultly todavía no está notarizado por Apple, así que macOS lo bloquea la primera vez que lo abres. Basta con permitirlo una vez:
-
Haz doble clic en Defaultly. Cuando macOS diga que no ha podido verificarlo, haz clic en «Aceptar». No pulses el botón azul «Trasladar a la Papelera».

-
Abre «Ajustes del Sistema › Privacidad y seguridad», desplázate hasta «Seguridad» y haz clic en «Abrir igualmente» junto a Defaultly. El botón sigue ahí durante aproximadamente una hora después del paso 1.

-
Introduce tu contraseña de inicio de sesión o usa Touch ID y, en el cuadro de diálogo siguiente, vuelve a hacer clic en «Abrir igualmente».

A partir de ahí Defaultly se abre con normalidad, y su app auxiliar integrada queda permitida a la vez, así que al abrir archivos sin extensión ya no aparecen más avisos. Las capturas muestran la interfaz en inglés; en macOS en español, los botones se llaman como se indica arriba.
Cómo se usa
Abrir .env y Dockerfile con tu editor
En la pestaña «Tipos de archivo», busca el grupo «Archivos sin extensión», elige tu editor en el menú de la derecha (por ejemplo VS Code, Zed o Sublime Text) y haz clic en «Aplicar» en la parte inferior de la ventana. Desde ese momento, al hacer doble clic en .env, Dockerfile y archivos similares se abrirán directamente con ese editor.
Elegir el editor predeterminado para todos los archivos de código
Lo mismo con los grupos «Código», «Configuración y datos» y «Markdown»: elige la app y haz clic en «Aplicar». El grupo Código cubre los lenguajes más habituales, como JavaScript, TypeScript (.tsx), Python, Java, C, C++, C#, PHP, Ruby, Swift, Go, Rust, Kotlin, Dart, Lua, Shell, PowerShell y SQL, incluidos .go y .rs, que no tienen un tipo oficial de macOS.
Si quieres que un formato sea una excepción, haz clic en la fila del grupo para desplegarlo y elige otra app en el menú de la fila de ese formato. La fila quedará marcada como «Ajuste propio». Para que vuelva a seguir al grupo, elige «Seguir al grupo».
Buscar y añadir extensiones
Escribe una extensión como py o env en el campo de búsqueda de arriba a la derecha y saltarás directamente a su fila. Si la extensión no está en ningún grupo, en los resultados aparece «Añadir…»: después de escribir la extensión, Defaultly te muestra cómo la reconoce macOS y te sugiere en qué grupo ponerla. Solo queda hacer clic en «Añadir».
Elegir el navegador y la app de correo predeterminados
Debajo de los tipos de archivo hay una tarjeta «Enlaces» donde eliges con qué app se abren los enlaces del navegador web, el correo electrónico, las suscripciones de calendario, el teléfono, SSH y demás. Al cambiar de navegador, macOS sigue mostrando un cuadro de diálogo del sistema para que lo confirmes; es una protección para que nadie te cambie el navegador a escondidas.
Aplicar, deshacer y restaurar
Todos los cambios quedan primero pendientes, y en la parte inferior de la ventana se ve cuántos hay. «Aplicar» hace que surtan efecto y «Descartar» los desecha.
- «Edición › Deshacer» (
⌘Z) deshace la última aplicación, y puedes deshacer varias veces seguidas. - El botón de flecha circular de la barra de herramientas es «Restaurar estado inicial»: hace que cada tipo de archivo y enlace que Defaultly cambió vuelva a la app que usaba la primera vez que abriste Defaultly. Antes de hacer nada, muestra la lista de cambios.
- En «Ajustes › Historial» se guardan las últimas 20 instantáneas, y puedes restaurar cualquiera.
Averiguar por qué un archivo se abre con esa app
Cambia a la pestaña «Diagnóstico» y suelta un archivo en el recuadro discontinuo. Verás qué app lo abre y por qué: si el archivo tiene su propio ajuste «Abrir con» hecho en el Finder, si elegiste esa app para ese tipo de archivo, o si no había nada configurado y lo eligió macOS. Debajo del resultado puedes pulsar «Usar en su lugar» para cambiar directamente a otra app.
Si sueltas una carpeta, Defaultly muestra todos los archivos que contiene con su propio ajuste «Abrir con». Selecciónalos, haz clic en «Eliminar sus propios ajustes» y pasarán a seguir el ajuste de su tipo.
Cómo lo consigue Defaultly
El paquete de Defaultly incluye una app auxiliar diminuta llamada Defaultly Helper. Cuando eliges un editor para los archivos sin extensión, Defaultly hace que public.data apunte a esa app auxiliar. Al abrir uno de esos archivos, la app auxiliar mira su contenido: los archivos de texto se los pasa al editor que elegiste, los binarios los muestra en el Finder, y luego se cierra. No tiene ventana, no se queda en segundo plano y se cierra tras menos de un segundo de inactividad.
Los tipos que tu app ya admite de por sí, como .md o .py, se le asignan directamente, sin pasar por la app auxiliar.
macOS no ofrece ninguna API pública para definir la app predeterminada de public.data, así que Defaultly escribe todos los cambios de tipos de archivo de una vez en las preferencias de LaunchServices y reinicia una vez el servicio lsd para que surtan efecto. Apple no documenta este mecanismo y podría dejar de funcionar tras una actualización del sistema. Si algún cambio no surte efecto, Defaultly recurre a la API pública (y tendrás que confirmar cada tipo), y para los archivos sin extensión puedes usar las reglas de carpeta de los «Ajustes».
Preguntas frecuentes
¿Cómo cambio la app predeterminada para los archivos sin extensión en un Mac?
Abre Defaultly, elige una app para «Archivos sin extensión» y haz clic en «Aplicar». A partir de entonces, archivos como .env y Dockerfile se abren con esa app.
¿Por qué no funciona «Cambiar todo» del Finder con los archivos .env?
macOS trata estos archivos como datos genéricos (public.data) y no permite cambiar su app predeterminada mediante las API públicas. Defaultly sortea esa limitación con su app auxiliar.
¿Por qué .ts no está en el grupo Código?
macOS reconoce .ts como un formato de vídeo (flujo de transporte MPEG-2). Cambiarlo afectaría a archivos de vídeo reales, así que el grupo Código solo incluye el .tsx de TypeScript.
¿Puedo deshacer todos los cambios? Sí. La primera vez que se ejecuta, Defaultly registra las asociaciones originales y nunca sobrescribe ese registro. «Restaurar estado inicial» hace que cada tipo cambiado vuelva a su app original.
¿Cómo se desinstala? Al final de «Ajustes › Lo que ha escrito Defaultly», haz clic en «Desinstalar Defaultly…». Primero restaura todas las asociaciones que cambió y luego se manda a sí mismo a la Papelera.
Para más detalles, como el modo desarrollador, las reglas y las reglas de carpeta, consulta la documentación en español del proyecto.
Proyecto en GitHub: https://github.com/zhaojiannet/defaultly