This is an automated email from the ASF dual-hosted git repository.

jscheffl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 030ae0a8503 Remove all export functionality from airflowctl (#59850)
030ae0a8503 is described below

commit 030ae0a85036f3063c93635b6f47e9f9b9592a63
Author: Henry Chen <[email protected]>
AuthorDate: Wed Dec 31 05:59:20 2025 +0800

    Remove all export functionality from airflowctl (#59850)
---
 .../tests/airflowctl_tests/conftest.py             |   2 -
 airflow-ctl/docs/images/command_hashes.txt         |   4 +-
 airflow-ctl/docs/images/output_connections.svg     | 141 ++++++++++-----------
 airflow-ctl/docs/images/output_variables.svg       | 114 ++++++++---------
 airflow-ctl/newsfragments/59850.significant.rst    |  30 +++++
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |  15 +--
 .../airflowctl/ctl/commands/variable_command.py    |  22 ----
 .../ctl/commands/test_variable_command.py          |  20 ---
 .../ci/prek/check_airflowctl_command_coverage.py   |   1 +
 .../in_container/run_capture_airflowctl_help.py    |   2 +-
 10 files changed, 156 insertions(+), 195 deletions(-)

diff --git a/airflow-ctl-tests/tests/airflowctl_tests/conftest.py 
b/airflow-ctl-tests/tests/airflowctl_tests/conftest.py
index 091f70dff49..dc9857246b7 100644
--- a/airflow-ctl-tests/tests/airflowctl_tests/conftest.py
+++ b/airflow-ctl-tests/tests/airflowctl_tests/conftest.py
@@ -293,7 +293,6 @@ def test_commands(login_command, date_param):
         "pools get --pool-name=test_pool -o yaml",
         "pools update --pool=test_pool --slots=10",
         "pools import tests/airflowctl_tests/fixtures/test_pools.json",
-        "pools export tests/airflowctl_tests/fixtures/pools_export.json 
--output=json",
         "pools delete --pool=test_pool",
         "pools delete --pool=test_import_pool",
         # Providers commands
@@ -305,7 +304,6 @@ def test_commands(login_command, date_param):
         "variables get --variable-key=test_key -o table",
         "variables update --key=test_key --value=updated_value",
         "variables import tests/airflowctl_tests/fixtures/test_variables.json",
-        "variables export 
tests/airflowctl_tests/fixtures/variables_export.json",
         "variables delete --variable-key=test_key",
         "variables delete --variable-key=test_import_var",
         "variables delete --variable-key=test_import_var_with_desc",
diff --git a/airflow-ctl/docs/images/command_hashes.txt 
b/airflow-ctl/docs/images/command_hashes.txt
index 6792a0234ef..c0e3b5995fa 100644
--- a/airflow-ctl/docs/images/command_hashes.txt
+++ b/airflow-ctl/docs/images/command_hashes.txt
@@ -3,12 +3,12 @@ assets:b3ae2b933e54528bf486ff28e887804d
 auth:f396d4bce90215599dde6ad0a8f30f29
 backfill:bbce9859a2d1ce054ad22db92dea8c05
 config:cb175bedf29e8a2c2c6a2ebd13d770a7
-connections:a16225e1c7d28488d0da612752669b4b
+connections:e34b6b93f64714986139958c1f370428
 dags:287a128a71c97d2b537e09a5c7c73c09
 dagrun:f47ed2a89ed0f8c71f79dba53a3a3882
 jobs:7f8680afff230eb9940bc7fca727bd52
 pools:03fc7d948cbecf16ff8d640eb8f0ce43
 providers:1c0afb2dff31d93ab2934b032a2250ab
-variables:0b04188937b3c364204ef4cc9a541c62
+variables:0354f8f4b0dde1c3771ed1568692c6ae
 version:d4a7a6229b3a204f114283b62eac789b
 auth login:5277c653ff6dce51f37472dc0bda9775
diff --git a/airflow-ctl/docs/images/output_connections.svg 
b/airflow-ctl/docs/images/output_connections.svg
index 8283756115f..7dc48cce16a 100644
--- a/airflow-ctl/docs/images/output_connections.svg
+++ b/airflow-ctl/docs/images/output_connections.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 811 562.4" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 933 489.2" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -19,123 +19,110 @@
         font-weight: 700;
     }
 
-    .terminal-3087056112-matrix {
+    .terminal-1162206820-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-3087056112-title {
+    .terminal-1162206820-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-3087056112-r1 { fill: #ff8700 }
-.terminal-3087056112-r2 { fill: #c5c8c6 }
-.terminal-3087056112-r3 { fill: #808080 }
-.terminal-3087056112-r4 { fill: #68a0b3 }
-.terminal-3087056112-r5 { fill: #c5c8c6;font-weight: bold }
+    .terminal-1162206820-r1 { fill: #ff8700 }
+.terminal-1162206820-r2 { fill: #c5c8c6 }
+.terminal-1162206820-r3 { fill: #808080 }
+.terminal-1162206820-r4 { fill: #68a0b3 }
     </style>
 
     <defs>
-    <clipPath id="terminal-3087056112-clip-terminal">
-      <rect x="0" y="0" width="792.0" height="511.4" />
+    <clipPath id="terminal-1162206820-clip-terminal">
+      <rect x="0" y="0" width="914.0" height="438.2" />
     </clipPath>
-    <clipPath id="terminal-3087056112-line-0">
-    <rect x="0" y="1.5" width="793" height="24.65"/>
+    <clipPath id="terminal-1162206820-line-0">
+    <rect x="0" y="1.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-1">
-    <rect x="0" y="25.9" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-1">
+    <rect x="0" y="25.9" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-2">
-    <rect x="0" y="50.3" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-2">
+    <rect x="0" y="50.3" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-3">
-    <rect x="0" y="74.7" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-3">
+    <rect x="0" y="74.7" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-4">
-    <rect x="0" y="99.1" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-4">
+    <rect x="0" y="99.1" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-5">
-    <rect x="0" y="123.5" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-5">
+    <rect x="0" y="123.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-6">
-    <rect x="0" y="147.9" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-6">
+    <rect x="0" y="147.9" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-7">
-    <rect x="0" y="172.3" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-7">
+    <rect x="0" y="172.3" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-8">
-    <rect x="0" y="196.7" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-8">
+    <rect x="0" y="196.7" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-9">
-    <rect x="0" y="221.1" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-9">
+    <rect x="0" y="221.1" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-10">
-    <rect x="0" y="245.5" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-10">
+    <rect x="0" y="245.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-11">
-    <rect x="0" y="269.9" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-11">
+    <rect x="0" y="269.9" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-12">
-    <rect x="0" y="294.3" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-12">
+    <rect x="0" y="294.3" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-13">
-    <rect x="0" y="318.7" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-13">
+    <rect x="0" y="318.7" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-14">
-    <rect x="0" y="343.1" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-14">
+    <rect x="0" y="343.1" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-15">
-    <rect x="0" y="367.5" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-15">
+    <rect x="0" y="367.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3087056112-line-16">
-    <rect x="0" y="391.9" width="793" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-3087056112-line-17">
-    <rect x="0" y="416.3" width="793" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-3087056112-line-18">
-    <rect x="0" y="440.7" width="793" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-3087056112-line-19">
-    <rect x="0" y="465.1" width="793" height="24.65"/>
+<clipPath id="terminal-1162206820-line-16">
+    <rect x="0" y="391.9" width="915" height="24.65"/>
             </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="809" height="560.4" rx="8"/>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="931" height="487.2" rx="8"/>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" 
clip-path="url(#terminal-3087056112-clip-terminal)">
+    <g transform="translate(9, 41)" 
clip-path="url(#terminal-1162206820-clip-terminal)">
     
-    <g class="terminal-3087056112-matrix">
-    <text class="terminal-3087056112-r1" x="0" y="20" textLength="73.2" 
clip-path="url(#terminal-3087056112-line-0)">Usage:</text><text 
class="terminal-3087056112-r3" x="85.4" y="20" textLength="268.4" 
clip-path="url(#terminal-3087056112-line-0)">airflowctl&#160;connections</text><text
 class="terminal-3087056112-r2" x="353.8" y="20" textLength="24.4" 
clip-path="url(#terminal-3087056112-line-0)">&#160;[</text><text 
class="terminal-3087056112-r4" x="378.2" y="20" textLength="24.4" clip-pat [...]
-</text><text class="terminal-3087056112-r2" x="793" y="44.4" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-1)">
-</text><text class="terminal-3087056112-r2" x="0" y="68.8" textLength="366" 
clip-path="url(#terminal-3087056112-line-2)">Perform&#160;Connections&#160;operations</text><text
 class="terminal-3087056112-r2" x="793" y="68.8" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-2)">
-</text><text class="terminal-3087056112-r2" x="793" y="93.2" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-3)">
-</text><text class="terminal-3087056112-r1" x="0" y="117.6" textLength="256.2" 
clip-path="url(#terminal-3087056112-line-4)">Positional&#160;Arguments:</text><text
 class="terminal-3087056112-r2" x="793" y="117.6" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-4)">
-</text><text class="terminal-3087056112-r4" x="24.4" y="142" textLength="85.4" 
clip-path="url(#terminal-3087056112-line-5)">COMMAND</text><text 
class="terminal-3087056112-r2" x="793" y="142" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-5)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="166.4" 
textLength="73.2" 
clip-path="url(#terminal-3087056112-line-6)">create</text><text 
class="terminal-3087056112-r2" x="231.8" y="166.4" textLength="292.8" 
clip-path="url(#terminal-3087056112-line-6)">Perform&#160;create&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="166.4" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-6)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="190.8" 
textLength="183" 
clip-path="url(#terminal-3087056112-line-7)">create-defaults</text><text 
class="terminal-3087056112-r2" x="793" y="190.8" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-7)">
-</text><text class="terminal-3087056112-r2" x="231.8" y="215.2" 
textLength="402.6" 
clip-path="url(#terminal-3087056112-line-8)">Perform&#160;create_defaults&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="215.2" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-8)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="239.6" 
textLength="73.2" 
clip-path="url(#terminal-3087056112-line-9)">delete</text><text 
class="terminal-3087056112-r2" x="231.8" y="239.6" textLength="292.8" 
clip-path="url(#terminal-3087056112-line-9)">Perform&#160;delete&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="239.6" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-9)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="264" textLength="36.6" 
clip-path="url(#terminal-3087056112-line-10)">get</text><text 
class="terminal-3087056112-r2" x="231.8" y="264" textLength="256.2" 
clip-path="url(#terminal-3087056112-line-10)">Perform&#160;get&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="264" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-10)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="288.4" 
textLength="73.2" 
clip-path="url(#terminal-3087056112-line-11)">import</text><text 
class="terminal-3087056112-r2" x="231.8" y="288.4" textLength="549" 
clip-path="url(#terminal-3087056112-line-11)">Import&#160;connections&#160;from&#160;a&#160;file.&#160;This&#160;feature&#160;</text><text
 class="terminal-3087056112-r2" x="793" y="288.4" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-11)">
-</text><text class="terminal-3087056112-r2" x="0" y="312.8" textLength="390.4" 
clip-path="url(#terminal-3087056112-line-12)">is&#160;compatible&#160;with&#160;airflow&#160;CLI&#160;`</text><text
 class="terminal-3087056112-r5" x="390.4" y="312.8" textLength="329.4" 
clip-path="url(#terminal-3087056112-line-12)">airflow&#160;connections&#160;export&#160;</text><text
 class="terminal-3087056112-r2" x="793" y="312.8" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-12)">
-</text><text class="terminal-3087056112-r5" x="0" y="337.2" textLength="73.2" 
clip-path="url(#terminal-3087056112-line-13)">a.json</text><text 
class="terminal-3087056112-r2" x="73.2" y="337.2" textLength="329.4" 
clip-path="url(#terminal-3087056112-line-13)">`&#160;command.&#160;Export&#160;it&#160;from&#160;`</text><text
 class="terminal-3087056112-r5" x="402.6" y="337.2" textLength="134.2" 
clip-path="url(#terminal-3087056112-line-13)">airflow&#160;CLI</text><text 
class="terminal-30870561 [...]
-</text><text class="terminal-3087056112-r2" x="0" y="361.6" textLength="317.2" 
clip-path="url(#terminal-3087056112-line-14)">securely&#160;via&#160;this&#160;command.</text><text
 class="terminal-3087056112-r2" x="793" y="361.6" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-14)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="386" textLength="48.8" 
clip-path="url(#terminal-3087056112-line-15)">list</text><text 
class="terminal-3087056112-r2" x="231.8" y="386" textLength="268.4" 
clip-path="url(#terminal-3087056112-line-15)">Perform&#160;list&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="386" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-15)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="410.4" 
textLength="48.8" 
clip-path="url(#terminal-3087056112-line-16)">test</text><text 
class="terminal-3087056112-r2" x="231.8" y="410.4" textLength="268.4" 
clip-path="url(#terminal-3087056112-line-16)">Perform&#160;test&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="410.4" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-16)">
-</text><text class="terminal-3087056112-r4" x="48.8" y="434.8" 
textLength="73.2" 
clip-path="url(#terminal-3087056112-line-17)">update</text><text 
class="terminal-3087056112-r2" x="231.8" y="434.8" textLength="292.8" 
clip-path="url(#terminal-3087056112-line-17)">Perform&#160;update&#160;operation</text><text
 class="terminal-3087056112-r2" x="793" y="434.8" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-17)">
-</text><text class="terminal-3087056112-r2" x="793" y="459.2" 
textLength="12.2" clip-path="url(#terminal-3087056112-line-18)">
-</text><text class="terminal-3087056112-r1" x="0" y="483.6" textLength="97.6" 
clip-path="url(#terminal-3087056112-line-19)">Options:</text><text 
class="terminal-3087056112-r2" x="793" y="483.6" textLength="12.2" 
clip-path="url(#terminal-3087056112-line-19)">
-</text><text class="terminal-3087056112-r4" x="24.4" y="508" textLength="24.4" 
clip-path="url(#terminal-3087056112-line-20)">-h</text><text 
class="terminal-3087056112-r2" x="48.8" y="508" textLength="24.4" 
clip-path="url(#terminal-3087056112-line-20)">,&#160;</text><text 
class="terminal-3087056112-r4" x="73.2" y="508" textLength="73.2" 
clip-path="url(#terminal-3087056112-line-20)">--help</text><text 
class="terminal-3087056112-r2" x="231.8" y="508" textLength="378.2" 
clip-path="url(#termi [...]
+    <g class="terminal-1162206820-matrix">
+    <text class="terminal-1162206820-r1" x="0" y="20" textLength="73.2" 
clip-path="url(#terminal-1162206820-line-0)">Usage:</text><text 
class="terminal-1162206820-r3" x="85.4" y="20" textLength="268.4" 
clip-path="url(#terminal-1162206820-line-0)">airflowctl&#160;connections</text><text
 class="terminal-1162206820-r2" x="353.8" y="20" textLength="24.4" 
clip-path="url(#terminal-1162206820-line-0)">&#160;[</text><text 
class="terminal-1162206820-r4" x="378.2" y="20" textLength="24.4" clip-pat [...]
+</text><text class="terminal-1162206820-r2" x="915" y="44.4" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-1)">
+</text><text class="terminal-1162206820-r2" x="0" y="68.8" textLength="366" 
clip-path="url(#terminal-1162206820-line-2)">Perform&#160;Connections&#160;operations</text><text
 class="terminal-1162206820-r2" x="915" y="68.8" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-2)">
+</text><text class="terminal-1162206820-r2" x="915" y="93.2" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-3)">
+</text><text class="terminal-1162206820-r1" x="0" y="117.6" textLength="256.2" 
clip-path="url(#terminal-1162206820-line-4)">Positional&#160;Arguments:</text><text
 class="terminal-1162206820-r2" x="915" y="117.6" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-4)">
+</text><text class="terminal-1162206820-r4" x="24.4" y="142" textLength="85.4" 
clip-path="url(#terminal-1162206820-line-5)">COMMAND</text><text 
class="terminal-1162206820-r2" x="915" y="142" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-5)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="166.4" 
textLength="73.2" 
clip-path="url(#terminal-1162206820-line-6)">create</text><text 
class="terminal-1162206820-r2" x="231.8" y="166.4" textLength="292.8" 
clip-path="url(#terminal-1162206820-line-6)">Perform&#160;create&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="166.4" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-6)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="190.8" 
textLength="183" 
clip-path="url(#terminal-1162206820-line-7)">create-defaults</text><text 
class="terminal-1162206820-r2" x="915" y="190.8" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-7)">
+</text><text class="terminal-1162206820-r2" x="231.8" y="215.2" 
textLength="402.6" 
clip-path="url(#terminal-1162206820-line-8)">Perform&#160;create_defaults&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="215.2" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-8)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="239.6" 
textLength="73.2" 
clip-path="url(#terminal-1162206820-line-9)">delete</text><text 
class="terminal-1162206820-r2" x="231.8" y="239.6" textLength="292.8" 
clip-path="url(#terminal-1162206820-line-9)">Perform&#160;delete&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="239.6" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-9)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="264" textLength="36.6" 
clip-path="url(#terminal-1162206820-line-10)">get</text><text 
class="terminal-1162206820-r2" x="231.8" y="264" textLength="256.2" 
clip-path="url(#terminal-1162206820-line-10)">Perform&#160;get&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="264" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-10)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="288.4" 
textLength="73.2" 
clip-path="url(#terminal-1162206820-line-11)">import</text><text 
class="terminal-1162206820-r2" x="231.8" y="288.4" textLength="671" 
clip-path="url(#terminal-1162206820-line-11)">Import&#160;connections&#160;from&#160;a&#160;file&#160;exported&#160;with&#160;local&#160;CLI.</text><text
 class="terminal-1162206820-r2" x="915" y="288.4" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-11)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="312.8" 
textLength="48.8" 
clip-path="url(#terminal-1162206820-line-12)">list</text><text 
class="terminal-1162206820-r2" x="231.8" y="312.8" textLength="268.4" 
clip-path="url(#terminal-1162206820-line-12)">Perform&#160;list&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="312.8" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-12)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="337.2" 
textLength="48.8" 
clip-path="url(#terminal-1162206820-line-13)">test</text><text 
class="terminal-1162206820-r2" x="231.8" y="337.2" textLength="268.4" 
clip-path="url(#terminal-1162206820-line-13)">Perform&#160;test&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="337.2" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-13)">
+</text><text class="terminal-1162206820-r4" x="48.8" y="361.6" 
textLength="73.2" 
clip-path="url(#terminal-1162206820-line-14)">update</text><text 
class="terminal-1162206820-r2" x="231.8" y="361.6" textLength="292.8" 
clip-path="url(#terminal-1162206820-line-14)">Perform&#160;update&#160;operation</text><text
 class="terminal-1162206820-r2" x="915" y="361.6" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-14)">
+</text><text class="terminal-1162206820-r2" x="915" y="386" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-15)">
+</text><text class="terminal-1162206820-r1" x="0" y="410.4" textLength="97.6" 
clip-path="url(#terminal-1162206820-line-16)">Options:</text><text 
class="terminal-1162206820-r2" x="915" y="410.4" textLength="12.2" 
clip-path="url(#terminal-1162206820-line-16)">
+</text><text class="terminal-1162206820-r4" x="24.4" y="434.8" 
textLength="24.4" clip-path="url(#terminal-1162206820-line-17)">-h</text><text 
class="terminal-1162206820-r2" x="48.8" y="434.8" textLength="24.4" 
clip-path="url(#terminal-1162206820-line-17)">,&#160;</text><text 
class="terminal-1162206820-r4" x="73.2" y="434.8" textLength="73.2" 
clip-path="url(#terminal-1162206820-line-17)">--help</text><text 
class="terminal-1162206820-r2" x="231.8" y="434.8" textLength="378.2" 
clip-path="ur [...]
 </text>
     </g>
     </g>
diff --git a/airflow-ctl/docs/images/output_variables.svg 
b/airflow-ctl/docs/images/output_variables.svg
index 31599fa47c9..78c24d31074 100644
--- a/airflow-ctl/docs/images/output_variables.svg
+++ b/airflow-ctl/docs/images/output_variables.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 811 440.4" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 933 416.0" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -19,102 +19,98 @@
         font-weight: 700;
     }
 
-    .terminal-4094392876-matrix {
+    .terminal-938427142-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-4094392876-title {
+    .terminal-938427142-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-4094392876-r1 { fill: #ff8700 }
-.terminal-4094392876-r2 { fill: #c5c8c6 }
-.terminal-4094392876-r3 { fill: #808080 }
-.terminal-4094392876-r4 { fill: #68a0b3 }
+    .terminal-938427142-r1 { fill: #ff8700 }
+.terminal-938427142-r2 { fill: #c5c8c6 }
+.terminal-938427142-r3 { fill: #808080 }
+.terminal-938427142-r4 { fill: #68a0b3 }
     </style>
 
     <defs>
-    <clipPath id="terminal-4094392876-clip-terminal">
-      <rect x="0" y="0" width="792.0" height="389.4" />
+    <clipPath id="terminal-938427142-clip-terminal">
+      <rect x="0" y="0" width="914.0" height="365.0" />
     </clipPath>
-    <clipPath id="terminal-4094392876-line-0">
-    <rect x="0" y="1.5" width="793" height="24.65"/>
+    <clipPath id="terminal-938427142-line-0">
+    <rect x="0" y="1.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-1">
-    <rect x="0" y="25.9" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-1">
+    <rect x="0" y="25.9" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-2">
-    <rect x="0" y="50.3" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-2">
+    <rect x="0" y="50.3" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-3">
-    <rect x="0" y="74.7" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-3">
+    <rect x="0" y="74.7" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-4">
-    <rect x="0" y="99.1" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-4">
+    <rect x="0" y="99.1" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-5">
-    <rect x="0" y="123.5" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-5">
+    <rect x="0" y="123.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-6">
-    <rect x="0" y="147.9" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-6">
+    <rect x="0" y="147.9" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-7">
-    <rect x="0" y="172.3" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-7">
+    <rect x="0" y="172.3" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-8">
-    <rect x="0" y="196.7" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-8">
+    <rect x="0" y="196.7" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-9">
-    <rect x="0" y="221.1" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-9">
+    <rect x="0" y="221.1" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-10">
-    <rect x="0" y="245.5" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-10">
+    <rect x="0" y="245.5" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-11">
-    <rect x="0" y="269.9" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-11">
+    <rect x="0" y="269.9" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-12">
-    <rect x="0" y="294.3" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-12">
+    <rect x="0" y="294.3" width="915" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-4094392876-line-13">
-    <rect x="0" y="318.7" width="793" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-4094392876-line-14">
-    <rect x="0" y="343.1" width="793" height="24.65"/>
+<clipPath id="terminal-938427142-line-13">
+    <rect x="0" y="318.7" width="915" height="24.65"/>
             </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="809" height="438.4" rx="8"/>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="931" height="414" rx="8"/>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" 
clip-path="url(#terminal-4094392876-clip-terminal)">
+    <g transform="translate(9, 41)" 
clip-path="url(#terminal-938427142-clip-terminal)">
     
-    <g class="terminal-4094392876-matrix">
-    <text class="terminal-4094392876-r1" x="0" y="20" textLength="73.2" 
clip-path="url(#terminal-4094392876-line-0)">Usage:</text><text 
class="terminal-4094392876-r3" x="85.4" y="20" textLength="244" 
clip-path="url(#terminal-4094392876-line-0)">airflowctl&#160;variables</text><text
 class="terminal-4094392876-r2" x="329.4" y="20" textLength="24.4" 
clip-path="url(#terminal-4094392876-line-0)">&#160;[</text><text 
class="terminal-4094392876-r4" x="353.8" y="20" textLength="24.4" clip-path="u 
[...]
-</text><text class="terminal-4094392876-r2" x="793" y="44.4" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-1)">
-</text><text class="terminal-4094392876-r2" x="0" y="68.8" textLength="341.6" 
clip-path="url(#terminal-4094392876-line-2)">Perform&#160;Variables&#160;operations</text><text
 class="terminal-4094392876-r2" x="793" y="68.8" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-2)">
-</text><text class="terminal-4094392876-r2" x="793" y="93.2" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-3)">
-</text><text class="terminal-4094392876-r1" x="0" y="117.6" textLength="256.2" 
clip-path="url(#terminal-4094392876-line-4)">Positional&#160;Arguments:</text><text
 class="terminal-4094392876-r2" x="793" y="117.6" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-4)">
-</text><text class="terminal-4094392876-r4" x="24.4" y="142" textLength="85.4" 
clip-path="url(#terminal-4094392876-line-5)">COMMAND</text><text 
class="terminal-4094392876-r2" x="793" y="142" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-5)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="166.4" 
textLength="73.2" 
clip-path="url(#terminal-4094392876-line-6)">create</text><text 
class="terminal-4094392876-r2" x="170.8" y="166.4" textLength="292.8" 
clip-path="url(#terminal-4094392876-line-6)">Perform&#160;create&#160;operation</text><text
 class="terminal-4094392876-r2" x="793" y="166.4" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-6)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="190.8" 
textLength="73.2" 
clip-path="url(#terminal-4094392876-line-7)">delete</text><text 
class="terminal-4094392876-r2" x="170.8" y="190.8" textLength="292.8" 
clip-path="url(#terminal-4094392876-line-7)">Perform&#160;delete&#160;operation</text><text
 class="terminal-4094392876-r2" x="793" y="190.8" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-7)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="215.2" 
textLength="73.2" 
clip-path="url(#terminal-4094392876-line-8)">export</text><text 
class="terminal-4094392876-r2" x="170.8" y="215.2" textLength="244" 
clip-path="url(#terminal-4094392876-line-8)">Export&#160;all&#160;variables</text><text
 class="terminal-4094392876-r2" x="793" y="215.2" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-8)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="239.6" 
textLength="36.6" clip-path="url(#terminal-4094392876-line-9)">get</text><text 
class="terminal-4094392876-r2" x="170.8" y="239.6" textLength="256.2" 
clip-path="url(#terminal-4094392876-line-9)">Perform&#160;get&#160;operation</text><text
 class="terminal-4094392876-r2" x="793" y="239.6" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-9)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="264" textLength="73.2" 
clip-path="url(#terminal-4094392876-line-10)">import</text><text 
class="terminal-4094392876-r2" x="170.8" y="264" textLength="195.2" 
clip-path="url(#terminal-4094392876-line-10)">Import&#160;variables</text><text 
class="terminal-4094392876-r2" x="793" y="264" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-10)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="288.4" 
textLength="48.8" 
clip-path="url(#terminal-4094392876-line-11)">list</text><text 
class="terminal-4094392876-r2" x="170.8" y="288.4" textLength="268.4" 
clip-path="url(#terminal-4094392876-line-11)">Perform&#160;list&#160;operation</text><text
 class="terminal-4094392876-r2" x="793" y="288.4" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-11)">
-</text><text class="terminal-4094392876-r4" x="48.8" y="312.8" 
textLength="73.2" 
clip-path="url(#terminal-4094392876-line-12)">update</text><text 
class="terminal-4094392876-r2" x="170.8" y="312.8" textLength="292.8" 
clip-path="url(#terminal-4094392876-line-12)">Perform&#160;update&#160;operation</text><text
 class="terminal-4094392876-r2" x="793" y="312.8" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-12)">
-</text><text class="terminal-4094392876-r2" x="793" y="337.2" 
textLength="12.2" clip-path="url(#terminal-4094392876-line-13)">
-</text><text class="terminal-4094392876-r1" x="0" y="361.6" textLength="97.6" 
clip-path="url(#terminal-4094392876-line-14)">Options:</text><text 
class="terminal-4094392876-r2" x="793" y="361.6" textLength="12.2" 
clip-path="url(#terminal-4094392876-line-14)">
-</text><text class="terminal-4094392876-r4" x="24.4" y="386" textLength="24.4" 
clip-path="url(#terminal-4094392876-line-15)">-h</text><text 
class="terminal-4094392876-r2" x="48.8" y="386" textLength="24.4" 
clip-path="url(#terminal-4094392876-line-15)">,&#160;</text><text 
class="terminal-4094392876-r4" x="73.2" y="386" textLength="73.2" 
clip-path="url(#terminal-4094392876-line-15)">--help</text><text 
class="terminal-4094392876-r2" x="170.8" y="386" textLength="378.2" 
clip-path="url(#termi [...]
+    <g class="terminal-938427142-matrix">
+    <text class="terminal-938427142-r1" x="0" y="20" textLength="73.2" 
clip-path="url(#terminal-938427142-line-0)">Usage:</text><text 
class="terminal-938427142-r3" x="85.4" y="20" textLength="244" 
clip-path="url(#terminal-938427142-line-0)">airflowctl&#160;variables</text><text
 class="terminal-938427142-r2" x="329.4" y="20" textLength="24.4" 
clip-path="url(#terminal-938427142-line-0)">&#160;[</text><text 
class="terminal-938427142-r4" x="353.8" y="20" textLength="24.4" 
clip-path="url(#ter [...]
+</text><text class="terminal-938427142-r2" x="915" y="44.4" textLength="12.2" 
clip-path="url(#terminal-938427142-line-1)">
+</text><text class="terminal-938427142-r2" x="0" y="68.8" textLength="341.6" 
clip-path="url(#terminal-938427142-line-2)">Perform&#160;Variables&#160;operations</text><text
 class="terminal-938427142-r2" x="915" y="68.8" textLength="12.2" 
clip-path="url(#terminal-938427142-line-2)">
+</text><text class="terminal-938427142-r2" x="915" y="93.2" textLength="12.2" 
clip-path="url(#terminal-938427142-line-3)">
+</text><text class="terminal-938427142-r1" x="0" y="117.6" textLength="256.2" 
clip-path="url(#terminal-938427142-line-4)">Positional&#160;Arguments:</text><text
 class="terminal-938427142-r2" x="915" y="117.6" textLength="12.2" 
clip-path="url(#terminal-938427142-line-4)">
+</text><text class="terminal-938427142-r4" x="24.4" y="142" textLength="85.4" 
clip-path="url(#terminal-938427142-line-5)">COMMAND</text><text 
class="terminal-938427142-r2" x="915" y="142" textLength="12.2" 
clip-path="url(#terminal-938427142-line-5)">
+</text><text class="terminal-938427142-r4" x="48.8" y="166.4" 
textLength="73.2" 
clip-path="url(#terminal-938427142-line-6)">create</text><text 
class="terminal-938427142-r2" x="170.8" y="166.4" textLength="292.8" 
clip-path="url(#terminal-938427142-line-6)">Perform&#160;create&#160;operation</text><text
 class="terminal-938427142-r2" x="915" y="166.4" textLength="12.2" 
clip-path="url(#terminal-938427142-line-6)">
+</text><text class="terminal-938427142-r4" x="48.8" y="190.8" 
textLength="73.2" 
clip-path="url(#terminal-938427142-line-7)">delete</text><text 
class="terminal-938427142-r2" x="170.8" y="190.8" textLength="292.8" 
clip-path="url(#terminal-938427142-line-7)">Perform&#160;delete&#160;operation</text><text
 class="terminal-938427142-r2" x="915" y="190.8" textLength="12.2" 
clip-path="url(#terminal-938427142-line-7)">
+</text><text class="terminal-938427142-r4" x="48.8" y="215.2" 
textLength="36.6" clip-path="url(#terminal-938427142-line-8)">get</text><text 
class="terminal-938427142-r2" x="170.8" y="215.2" textLength="256.2" 
clip-path="url(#terminal-938427142-line-8)">Perform&#160;get&#160;operation</text><text
 class="terminal-938427142-r2" x="915" y="215.2" textLength="12.2" 
clip-path="url(#terminal-938427142-line-8)">
+</text><text class="terminal-938427142-r4" x="48.8" y="239.6" 
textLength="73.2" 
clip-path="url(#terminal-938427142-line-9)">import</text><text 
class="terminal-938427142-r2" x="170.8" y="239.6" textLength="646.6" 
clip-path="url(#terminal-938427142-line-9)">Import&#160;variables&#160;from&#160;a&#160;file&#160;exported&#160;with&#160;local&#160;CLI.</text><text
 class="terminal-938427142-r2" x="915" y="239.6" textLength="12.2" 
clip-path="url(#terminal-938427142-line-9)">
+</text><text class="terminal-938427142-r4" x="48.8" y="264" textLength="48.8" 
clip-path="url(#terminal-938427142-line-10)">list</text><text 
class="terminal-938427142-r2" x="170.8" y="264" textLength="268.4" 
clip-path="url(#terminal-938427142-line-10)">Perform&#160;list&#160;operation</text><text
 class="terminal-938427142-r2" x="915" y="264" textLength="12.2" 
clip-path="url(#terminal-938427142-line-10)">
+</text><text class="terminal-938427142-r4" x="48.8" y="288.4" 
textLength="73.2" 
clip-path="url(#terminal-938427142-line-11)">update</text><text 
class="terminal-938427142-r2" x="170.8" y="288.4" textLength="292.8" 
clip-path="url(#terminal-938427142-line-11)">Perform&#160;update&#160;operation</text><text
 class="terminal-938427142-r2" x="915" y="288.4" textLength="12.2" 
clip-path="url(#terminal-938427142-line-11)">
+</text><text class="terminal-938427142-r2" x="915" y="312.8" textLength="12.2" 
clip-path="url(#terminal-938427142-line-12)">
+</text><text class="terminal-938427142-r1" x="0" y="337.2" textLength="97.6" 
clip-path="url(#terminal-938427142-line-13)">Options:</text><text 
class="terminal-938427142-r2" x="915" y="337.2" textLength="12.2" 
clip-path="url(#terminal-938427142-line-13)">
+</text><text class="terminal-938427142-r4" x="24.4" y="361.6" 
textLength="24.4" clip-path="url(#terminal-938427142-line-14)">-h</text><text 
class="terminal-938427142-r2" x="48.8" y="361.6" textLength="24.4" 
clip-path="url(#terminal-938427142-line-14)">,&#160;</text><text 
class="terminal-938427142-r4" x="73.2" y="361.6" textLength="73.2" 
clip-path="url(#terminal-938427142-line-14)">--help</text><text 
class="terminal-938427142-r2" x="170.8" y="361.6" textLength="378.2" 
clip-path="url(#term [...]
 </text>
     </g>
     </g>
diff --git a/airflow-ctl/newsfragments/59850.significant.rst 
b/airflow-ctl/newsfragments/59850.significant.rst
new file mode 100644
index 00000000000..dfb10ae852c
--- /dev/null
+++ b/airflow-ctl/newsfragments/59850.significant.rst
@@ -0,0 +1,30 @@
+Remove ``airflowctl variables export`` command
+
+The ``airflowctl variables export`` command has been removed from the remote 
CLI. Variable export functionality is only available through the local Airflow 
CLI.
+
+**What changed:**
+
+- Removed ``airflowctl variables export`` command
+
+**Migration:**
+
+Use the local Airflow CLI command for exporting variables:
+
+.. code-block:: bash
+
+   # Old (no longer available)
+   airflowctl variables export variables.json
+
+   # New (use local CLI)
+   airflow variables export variables.json
+
+* Types of change
+
+  * [ ] Dag changes
+  * [ ] Config changes
+  * [ ] API changes
+  * [x] CLI changes
+  * [ ] Behaviour changes
+  * [ ] Plugin changes
+  * [ ] Dependency changes
+  * [ ] Code interface changes
diff --git a/airflow-ctl/src/airflowctl/ctl/cli_config.py 
b/airflow-ctl/src/airflowctl/ctl/cli_config.py
index d79f15dcf0a..58af9791bc4 100644
--- a/airflow-ctl/src/airflowctl/ctl/cli_config.py
+++ b/airflow-ctl/src/airflowctl/ctl/cli_config.py
@@ -200,8 +200,7 @@ class Password(argparse.Action):
 ARG_FILE = Arg(
     flags=("file",),
     metavar="FILEPATH",
-    help="File path to read from or write to. "
-    "For import commands, it is a file to read from. For export commands, it 
is a file to write to.",
+    help="File path to read from for import commands.",
 )
 ARG_OUTPUT = Arg(
     (
@@ -802,9 +801,7 @@ CONFIG_COMMANDS = (
 CONNECTION_COMMANDS = (
     ActionCommand(
         name="import",
-        help="Import connections from a file. "
-        "This feature is compatible with airflow CLI `airflow connections 
export a.json` command. "
-        "Export it from `airflow CLI` and import it securely via this 
command.",
+        help="Import connections from a file exported with local CLI.",
         
func=lazy_load_command("airflowctl.ctl.commands.connection_command.import_"),
         args=(Arg(flags=("file",), metavar="FILEPATH", help="Connections JSON 
file"),),
     ),
@@ -852,16 +849,10 @@ POOL_COMMANDS = (
 VARIABLE_COMMANDS = (
     ActionCommand(
         name="import",
-        help="Import variables",
+        help="Import variables from a file exported with local CLI.",
         
func=lazy_load_command("airflowctl.ctl.commands.variable_command.import_"),
         args=(ARG_FILE, ARG_VARIABLE_ACTION_ON_EXISTING_KEY),
     ),
-    ActionCommand(
-        name="export",
-        help="Export all variables",
-        
func=lazy_load_command("airflowctl.ctl.commands.variable_command.export"),
-        args=(ARG_FILE,),
-    ),
 )
 
 core_commands: list[CLICommand] = [
diff --git a/airflow-ctl/src/airflowctl/ctl/commands/variable_command.py 
b/airflow-ctl/src/airflowctl/ctl/commands/variable_command.py
index d5ffed31d8c..466be2ccac7 100644
--- a/airflow-ctl/src/airflowctl/ctl/commands/variable_command.py
+++ b/airflow-ctl/src/airflowctl/ctl/commands/variable_command.py
@@ -19,7 +19,6 @@ from __future__ import annotations
 import json
 import os
 import sys
-from pathlib import Path
 
 import rich
 
@@ -79,24 +78,3 @@ def import_(args, api_client=NEW_API_CLIENT) -> list[str]:
 
     rich.print(success_message.format(success=result.create.success))
     return result.create.success
-
-
-@provide_api_client(kind=ClientKind.CLI)
-def export(args, api_client=NEW_API_CLIENT) -> None:
-    """Export all the variables to the file."""
-    success_message = "[green]Export successful! {total_entries} variable(s) 
to {file}[/green]"
-    var_dict = {}
-    variables = api_client.variables.list()
-
-    for variable in variables.variables:
-        if variable.description:
-            var_dict[variable.key] = {
-                "value": variable.value,
-                "description": variable.description,
-            }
-        else:
-            var_dict[variable.key] = variable.value
-
-    with open(Path(args.file), "w") as var_file:
-        json.dump(var_dict, var_file, sort_keys=True, indent=4)
-    rich.print(success_message.format(total_entries=variables.total_entries, 
file=args.file))
diff --git 
a/airflow-ctl/tests/airflow_ctl/ctl/commands/test_variable_command.py 
b/airflow-ctl/tests/airflow_ctl/ctl/commands/test_variable_command.py
index e0c9ce16d8d..9703c8f866b 100644
--- a/airflow-ctl/tests/airflow_ctl/ctl/commands/test_variable_command.py
+++ b/airflow-ctl/tests/airflow_ctl/ctl/commands/test_variable_command.py
@@ -17,7 +17,6 @@
 from __future__ import annotations
 
 import json
-import os
 
 import pytest
 
@@ -104,22 +103,3 @@ class TestCliVariableCommands:
                 self.parser.parse_args(["variables", "import", 
expected_json_path.as_posix()]),
                 api_client=api_client,
             )
-
-    def test_export(self, api_client_maker, tmp_path, monkeypatch):
-        api_client = api_client_maker(
-            path="/api/v2/variables",
-            response_json=self.variable_collection_response.model_dump(),
-            expected_http_status_code=200,
-            kind=ClientKind.CLI,
-        )
-
-        monkeypatch.chdir(tmp_path)
-        expected_json_path = (tmp_path / self.export_file_name).as_posix()
-        variable_command.export(
-            self.parser.parse_args(["variables", "export", 
expected_json_path]),
-            api_client=api_client,
-        )
-        assert os.path.exists(tmp_path / self.export_file_name)
-
-        with open(expected_json_path) as f:
-            assert json.load(f) == {self.key: {"description": 
self.description, "value": self.value}}
diff --git a/scripts/ci/prek/check_airflowctl_command_coverage.py 
b/scripts/ci/prek/check_airflowctl_command_coverage.py
index 00f89c723b7..70c9523e07d 100755
--- a/scripts/ci/prek/check_airflowctl_command_coverage.py
+++ b/scripts/ci/prek/check_airflowctl_command_coverage.py
@@ -47,6 +47,7 @@ EXCLUDED_METHODS = {
     "error",
     "_check_flag_and_exit_if_server_response_error",
     "bulk",
+    "export",
 }
 
 EXCLUDED_COMMANDS = {
diff --git a/scripts/in_container/run_capture_airflowctl_help.py 
b/scripts/in_container/run_capture_airflowctl_help.py
index 99882a539bf..b35472bffca 100644
--- a/scripts/in_container/run_capture_airflowctl_help.py
+++ b/scripts/in_container/run_capture_airflowctl_help.py
@@ -84,7 +84,7 @@ def 
regenerate_help_images_for_all_airflowctl_commands(commands: list[str], skip
     os.makedirs(AIRFLOWCTL_IMAGES_PATH, exist_ok=True)
     env = os.environ.copy()
     env["TERM"] = "xterm-256color"
-    env["COLUMNS"] = "65"
+    env["COLUMNS"] = "75"
     old_hash_dict = {}
     new_hash_dict = {}
 


Reply via email to