diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6c35463..0e0fa68 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -523,3 +523,48 @@ jobs:
           command_timeout: 30s
           script: |
             whoami
+
+  testing-capturing-output:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: create new ssh server
+        run: |
+          docker run -d \
+          --name=openssh-server \
+          --hostname=openssh-server \
+          -p 2222:2222 \
+          -e SUDO_ACCESS=false \
+          -e PASSWORD_ACCESS=true  \
+          -e USER_PASSWORD=password  \
+          -e USER_NAME=linuxserver.io \
+          --restart unless-stopped \
+          lscr.io/linuxserver/openssh-server:latest
+          docker exec openssh-server sh -c "hostname -i" > ip.txt
+          echo "REMOTE_HOST<<EOF" >> $GITHUB_ENV
+          cat ip.txt >> $GITHUB_ENV
+          echo "EOF" >> $GITHUB_ENV
+          echo "======= container ip address ========="
+          cat ip.txt
+          echo "======================================"
+          sleep 2
+
+      - id: stdout
+        name: ssh command with stdout
+        uses: ./
+        with:
+          host: ${{ env.REMOTE_HOST }}
+          username: linuxserver.io
+          password: password
+          port: 2222
+          capture_stdout: 'true'
+          script: |
+            #!/usr/bin/env bash
+            set -e
+            whoami
+
+      - name: check stdout
+        run: |
+          echo "stdout: ${{ steps.stdout.outputs.stdout }}"
diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml
index 43f47b9..9209737 100644
--- a/.github/workflows/stable.yml
+++ b/.github/workflows/stable.yml
@@ -484,65 +484,3 @@ jobs:
           script: |
             whoami && echo 'hello world' && touch todo.txt
             sudo whoami
-
-  testing-with-stdouterr:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v4
-
-      - name: create new ssh server
-        run: |
-          docker run -d \
-          --name=openssh-server \
-          --hostname=openssh-server \
-          -p 2222:2222 \
-          -e SUDO_ACCESS=false \
-          -e PASSWORD_ACCESS=true  \
-          -e USER_PASSWORD=password  \
-          -e USER_NAME=linuxserver.io \
-          --restart unless-stopped \
-          lscr.io/linuxserver/openssh-server:latest
-          docker exec openssh-server sh -c "hostname -i" > ip.txt
-          echo "REMOTE_HOST<<EOF" >> $GITHUB_ENV
-          cat ip.txt >> $GITHUB_ENV
-          echo "EOF" >> $GITHUB_ENV
-          echo "======= container ip address ========="
-          cat ip.txt
-          echo "======================================"
-          sleep 2
-
-      - name: ssh command with stdout
-        uses: appleboy/ssh-action@v1.2.0
-        with:
-          host: ${{ env.REMOTE_HOST }}
-          username: linuxserver.io
-          password: password
-          port: 2222
-          capture_stdout: 'true'
-          script: |
-            #!/usr/bin/env bash
-            set -e
-            whoami
-
-      - name: check stdout
-        run: |
-          echo "stdout: ${{ steps.ssh-command-with-stdout.outputs.stdout }}"
-
-      - name: ssh command with stderr
-        uses: appleboy/ssh-action@v1.2.0
-        continue-on-error: true
-        with:
-          host: ${{ env.REMOTE_HOST }}
-          username: linuxserver.io
-          password: password
-          port: 2222
-          capture_stderr: 'true'
-          script: |
-            #!/usr/bin/env bash
-            set -e
-            ls /root
-
-      - name: check stderr
-        run: |
-          echo "stderr: ${{ steps.ssh-command-with-stderr.outputs.stderr }}"
diff --git a/action.yml b/action.yml
index 2811a42..2f8594c 100644
--- a/action.yml
+++ b/action.yml
@@ -80,15 +80,10 @@ inputs:
   capture_stdout:
     description: "Capture the stdout of the commands."
     default: "false"
-  capture_stderr:
-    description: "Capture the stderr of the commands."
-    default: "false"
 
 outputs:
   stdout:
     description: 'Standard output of the executed commands.'
-  stderr:
-    description: 'Standard error of the executed commands.'
 
 runs:
   using: "composite"
@@ -137,7 +132,6 @@ runs:
         INPUT_PROXY_CIPHER: ${{ inputs.proxy_cipher }}
         INPUT_SYNC: ${{ inputs.sync }}
         INPUT_CAPTURE_STDOUT: ${{ inputs.capture_stdout }}
-        INPUT_CAPTURE_STDERR: ${{ inputs.capture_stderr }}
 
 branding:
   icon: "terminal"
diff --git a/entrypoint.sh b/entrypoint.sh
index 4545c53..62c1d76 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -68,27 +68,20 @@ chmod +x ${TARGET}
 echo "======= CLI Version ======="
 sh -c "${TARGET} --version" # print version
 echo "==========================="
-if [ "$INPUT_CAPTURE_STDOUT" == 'true' ] || [ "$INPUT_CAPTURE_STDERR" == 'true' ]; then
+if [[ "$INPUT_CAPTURE_STDOUT" == 'true' ]]; then
   _stdout=/dev/stdout
-  _stderr=/dev/stderr
-  if [ "$INPUT_CAPTURE_STDOUT" == 'true' ]; then
-    _stdout=/tmp/outFile
-  fi
-  if [ "$INPUT_CAPTURE_STDERR" == 'true' ]; then
-    _stderr=/tmp/errFile
+  if [[ "$INPUT_CAPTURE_STDOUT" == 'true' ]]; then
+    _stdout=/tmp/_stdout
   fi
 
   {
     sh -c "${TARGET} $*" # run the command
-  } 2> $_stderr | tee $_stdout
+  } | tee $_stdout
 
-  if [ "$INPUT_CAPTURE_STDOUT" == 'true' ]; then
-    stdout=$(cat $_stdout)
-    echo "stdout=${stdout//$'\n'/\\n}" >> $GITHUB_OUTPUT
-  fi
-  if [ "$INPUT_CAPTURE_STDERR" == 'true' ]; then
-    stderr=$(cat $_stderr)
-    echo "stderr=${stderr//$'\n'/\\n}" >> $GITHUB_OUTPUT
+  if [[ "$INPUT_CAPTURE_STDOUT" == 'true' ]]; then
+    echo 'stdout<<EOF' >> $GITHUB_OUTPUT
+    cat $_stdout >> $GITHUB_OUTPUT
+    echo 'EOF' >> $GITHUB_OUTPUT
   fi
 else
   sh -c "${TARGET} $*" # run the command
diff --git a/testdata/test.sh b/testdata/test.sh
index a229cae..def0e24 100644
--- a/testdata/test.sh
+++ b/testdata/test.sh
@@ -1,3 +1,4 @@
 #!/usr/bin/env bash
 set -e
+echo "Hello, World!"
 whoami