diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 5816628e4b..882e201376 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -85,7 +85,7 @@ jobs:
 
       - uses: coursier/setup-action@v1
         with:
-          apps: scalafmt
+          apps: 'scalafmt:3.8.3'
 
       - name: Build project
         run: sbt '++ ${{ matrix.scala }}' validate
diff --git a/build.sbt b/build.sbt
index 86c73d01b0..87f4330f62 100644
--- a/build.sbt
+++ b/build.sbt
@@ -54,8 +54,10 @@ ThisBuild / githubWorkflowPublish := Seq(
 ThisBuild / githubWorkflowJavaVersions := Seq("21", "17", "11").map(JavaSpec(Temurin, _))
 ThisBuild / githubWorkflowBuild :=
   Seq(
-    WorkflowStep
-      .Use(UseRef.Public("coursier", "setup-action", "v1"), params = Map("apps" -> "scalafmt")),
+    WorkflowStep.Use(
+      UseRef.Public("coursier", "setup-action", "v1"),
+      params = Map("apps" -> "scalafmt:3.8.3")
+    ),
     WorkflowStep.Sbt(List("validate"), name = Some("Build project")),
     WorkflowStep.Use(
       ref = UseRef.Public("codecov", "codecov-action", "v4"),
diff --git a/modules/core/src/main/scala/org/scalasteward/core/forge/ForgeAuthAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/forge/ForgeAuthAlg.scala
index ac851d9b35..b04acc4558 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/forge/ForgeAuthAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/forge/ForgeAuthAlg.scala
@@ -54,11 +54,15 @@ object ForgeAuthAlg {
           config.gitCfg.gitAskPass
         )
       case GitHub =>
-        val gitHub =
-          config.githubApp.getOrElse(
-            throw new IllegalArgumentException("GitHub app configuration is missing")
-          )
-        new GitHubAuthAlg(config.forgeCfg.apiHost, gitHub.id, gitHub.keyFile)
+        config.githubApp match {
+          case Some(gitHub) => new GitHubAuthAlg(config.forgeCfg.apiHost, gitHub.id, gitHub.keyFile)
+          case None =>
+            new BasicAuthAlg(
+              config.forgeCfg.apiHost,
+              config.forgeCfg.login,
+              config.gitCfg.gitAskPass
+            )
+        }
       case GitLab =>
         new GitLabAuthAlg(config.forgeCfg.apiHost, config.forgeCfg.login, config.gitCfg.gitAskPass)
       case Gitea =>
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 711d653e20..82a7ecc71c 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -3,7 +3,7 @@ import sbt._
 object Dependencies {
   val bcprovJdk15to18 = "org.bouncycastle" % "bcprov-jdk15to18" % "1.79"
   val betterFiles = "com.github.pathikrit" %% "better-files" % "3.9.2"
-  val catsEffect = "org.typelevel" %% "cats-effect" % "3.5.5"
+  val catsEffect = "org.typelevel" %% "cats-effect" % "3.5.6"
   val catsCore = "org.typelevel" %% "cats-core" % "2.12.0"
   val catsLaws = "org.typelevel" %% "cats-laws" % catsCore.revision
   val catsParse = "org.typelevel" %% "cats-parse" % "1.0.0"
@@ -14,7 +14,7 @@ object Dependencies {
   val circeParser = "io.circe" %% "circe-parser" % circeGeneric.revision
   val circeRefined = "io.circe" %% "circe-refined" % "0.15.1"
   val commonsIo = "commons-io" % "commons-io" % "2.17.0"
-  val coursierCore = "io.get-coursier" %% "coursier" % "2.1.17"
+  val coursierCore = "io.get-coursier" %% "coursier" % "2.1.18"
   val coursierSbtMaven =
     "io.get-coursier" %% "coursier-sbt-maven-repository" % coursierCore.revision
   val cron4sCore = "com.github.alonsodomin.cron4s" %% "cron4s-core" % "0.7.0"